diff --git a/.speakeasy/logs/changes/changes.html b/.speakeasy/logs/changes/changes.html index 9fd10c61..8ff1e30d 100644 --- a/.speakeasy/logs/changes/changes.html +++ b/.speakeasy/logs/changes/changes.html @@ -98,1959 +98,30 @@

Python SDK Changes:

\ No newline at end of file diff --git a/.speakeasy/logs/changes/changes.md b/.speakeasy/logs/changes/changes.md index 2f86c1cb..e7aa8ddd 100644 --- a/.speakeasy/logs/changes/changes.md +++ b/.speakeasy/logs/changes/changes.md @@ -1,1135 +1,19 @@ ## Python SDK Changes: -* `gusto_app_integration.webhooks.verify()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.payrolls.get_for_company()`: - * `request` **Changed** (Breaking ⚠️) - - `date_filter_by` **Added** - - `include[].enum(taxes)` **Added** - - `include_off_cycle` **Added** - - `processed` **Added** - - `processing_statuses` **Changed** - - `sort_order` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `calculated_at` **Changed** (Breaking ⚠️) - - `company_taxes` **Added** - - `company_uuid` **Changed** - - `credit_blockers[].unblock_options[]` **Changed** (Breaking ⚠️) - - `fixed_withholding_rate` **Changed** (Breaking ⚠️) - - `off_cycle_reason.enum(adhoc)` **Added** (Breaking ⚠️) - - `partner_owned_disbursement` **Added** - - `payroll_taxes` **Added** - - `payroll_uuid` **Changed** - - `processed_date` **Changed** (Breaking ⚠️) - - `processed` **Changed** - - `processing_request` **Added** - - `reversal_payroll_uuids` **Removed** (Breaking ⚠️) - - `skip_regular_deductions` **Changed** (Breaking ⚠️) - - `submission_blockers[].unblock_options[].metadata` **Changed** (Breaking ⚠️) - - `uuid` **Changed** - - `withholding_pay_period` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.time_tracking.delete_time_tracking_time_sheets_time_sheet_uuid()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.time_tracking.put_time_tracking_time_sheets_time_sheet_uuid()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.synced_to_payroll_at` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.time_tracking.get_time_tracking_time_sheets_time_sheet_uuid()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.synced_to_payroll_at` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.time_tracking.post_companies_company_uuid_time_tracking_time_sheets()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.synced_to_payroll_at` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.time_tracking.get_companies_company_uuid_time_tracking_time_sheets()`: - * `request` **Changed** (Breaking ⚠️) - - `entity_type` **Changed** - - `sort_by` **Changed** - - `sort_order` **Changed** - - `status` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[].synced_to_payroll_at` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.events.get_all()`: - * `request` **Changed** (Breaking ⚠️) - - `sort_order` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[422]` **Added** -* `gusto_app_integration.garnishments.get_child_support()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Removed** (Breaking ⚠️) -* `gusto_app_integration.garnishments.update()`: - * `request` **Changed** (Breaking ⚠️) - - `garnishment_type` **Added** - - `total_amount` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.garnishments.get_by_id()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.garnishments.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.garnishments.create()`: - * `request` **Changed** (Breaking ⚠️) - - `total_amount` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employee_benefits.create_ytd_benefit_amounts_from_different_company()`: - * `request` **Changed** (Breaking ⚠️) - - `benefit_type` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employee_benefits.get_ytd_benefit_amounts_from_different_company()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employee_benefits.delete()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.employee_benefits.update()`: - * `request` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `catch_up` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `retirement_loan_identifier` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_benefits.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `catch_up` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `retirement_loan_identifier` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_benefits.get_all()`: - * `request` **Changed** (Breaking ⚠️) - - `include` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `catch_up` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `retirement_loan_identifier` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_benefits.create()`: - * `request` **Changed** (Breaking ⚠️) - - `effective_date` **Added** - - `expiration_date` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `catch_up` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `retirement_loan_identifier` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.get_requirements()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `catch_up.choices` **Changed** (Breaking ⚠️) - - `catch_up.default_value` **Changed** (Breaking ⚠️) - - `company_contribution_annual_maximum.choices` **Changed** (Breaking ⚠️) - - `company_contribution_annual_maximum.default_value` **Changed** (Breaking ⚠️) - - `contribution.choices` **Changed** (Breaking ⚠️) - - `contribution.default_value` **Changed** (Breaking ⚠️) - - `coverage_amount.choices` **Changed** (Breaking ⚠️) - - `coverage_amount.default_value` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier.choices` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier.default_value` **Changed** (Breaking ⚠️) - - `deduct_as_percentage.choices` **Changed** (Breaking ⚠️) - - `deduct_as_percentage.default_value` **Changed** (Breaking ⚠️) - - `employee_deduction.choices` **Changed** (Breaking ⚠️) - - `employee_deduction.default_value` **Changed** (Breaking ⚠️) - - `limit_option.choices` **Changed** (Breaking ⚠️) - - `limit_option.default_value` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.bulk_update_employee_benefits()`: - * `request` **Changed** (Breaking ⚠️) - - `employee_benefits[].action` **Added** - - `employee_benefits[].additional_properties` **Added** - - `employee_benefits[].catch_up` **Changed** - - `employee_benefits[].coverage_salary_multiplier` **Changed** - - `employee_benefits[].deduction_reduces_taxable_income` **Changed** - - `employee_benefits[].effective_date` **Added** - - `employee_benefits[].expiration_date` **Added** - - `employee_benefits[].retirement_loan_identifier` **Changed** - - `employee_benefits[].uuid` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `catch_up` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `retirement_loan_identifier` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.get_employee_benefits()`: - * `request` **Changed** (Breaking ⚠️) - - `include` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `catch_up` **Changed** (Breaking ⚠️) - - `coverage_salary_multiplier` **Changed** (Breaking ⚠️) - - `deduction_reduces_taxable_income` **Changed** - - `effective_date` **Added** - - `expiration_date` **Added** - - `retirement_loan_identifier` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.get_summary()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.employees` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.writable_by_application` **Added** - * `error.status[404]` **Removed** (Breaking ⚠️) -* `gusto_app_integration.company_benefits.list_supported()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[].writable_by_application` **Added** - * `error.status[404]` **Removed** (Breaking ⚠️) -* `gusto_app_integration.company_benefits.delete()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error` **Changed** (Breaking ⚠️) - - `` **Added** - - `errors` **Changed** (Breaking ⚠️) -* `gusto_app_integration.company_benefits.update()`: - * `request` **Changed** (Breaking ⚠️) - - `catch_up_type` **Added** - - `responsible_for_employee_w2` **Added** - - `responsible_for_employer_taxes` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.catch_up_type` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.get_by_id()`: - * `request` **Changed** (Breaking ⚠️) - - `include` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `catch_up_type` **Added** - - `employee_benefits[].effective_date` **Added** - - `employee_benefits[].expiration_date` **Added** - - `employee_benefits[].uuid` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.list()`: - * `request` **Changed** (Breaking ⚠️) - - `benefit_type` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[].catch_up_type` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.company_benefits.create()`: - * `request` **Changed** (Breaking ⚠️) - - `catch_up_type` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.catch_up_type` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.contractor_payments.get_by_id()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.contractor_payments.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.time_off_policies.calculate_accruing_time_off_hours()`: - * `request` **Changed** (Breaking ⚠️) - - `double_overtime_hours_worked` **Changed** (Breaking ⚠️) - - `overtime_hours_worked` **Changed** (Breaking ⚠️) - - `pto_hours_used` **Changed** (Breaking ⚠️) - - `regular_hours_worked` **Changed** (Breaking ⚠️) - - `sick_hours_used` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.payrolls.prepare()`: - * `request` **Changed** (Breaking ⚠️) - - `employee_uuids` **Added** - - `page` **Added** - - `per` **Added** - - `sort_by` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `calculated_at` **Changed** (Breaking ⚠️) - - `employee_compensations[].benefits` **Removed** (Breaking ⚠️) - - `employee_compensations[].deductions[].amount_type` **Added** - - `employee_compensations[].deductions[].updatable_via_payroll` **Added** - - `employee_compensations[].deductions[].uuid` **Added** - - `employee_compensations[].first_name` **Added** - - `employee_compensations[].last_name` **Added** - - `employee_compensations[].paid_time_off[].final_payout_unused_hours_input` **Changed** (Breaking ⚠️) - - `employee_compensations[].payment_method.enum(historical)` **Added** (Breaking ⚠️) - - `employee_compensations[].preferred_first_name` **Added** - - `employee_compensations[].reimbursements` **Added** - - `employee_compensations[].taxes` **Removed** (Breaking ⚠️) - - `employee_compensations[].version` **Changed** (Breaking ⚠️) - - `fixed_withholding_rate` **Changed** (Breaking ⚠️) - - `off_cycle_reason.enum(adhoc)` **Added** (Breaking ⚠️) - - `partner_owned_disbursement` **Added** - - `processed_date` **Changed** (Breaking ⚠️) - - `skip_regular_deductions` **Changed** (Breaking ⚠️) - - `withholding_pay_period` **Changed** (Breaking ⚠️) - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.payrolls.update()`: - * `request` **Changed** (Breaking ⚠️) - - `employee_compensations[].deductions` **Added** - - `employee_compensations[].paid_time_off[].final_payout_unused_hours_input` **Changed** - - `employee_compensations[].reimbursements` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `calculated_at` **Changed** (Breaking ⚠️) - - `employee_compensations[].benefits` **Removed** (Breaking ⚠️) - - `employee_compensations[].deductions[].amount_type` **Added** - - `employee_compensations[].deductions[].updatable_via_payroll` **Added** - - `employee_compensations[].deductions[].uuid` **Added** - - `employee_compensations[].first_name` **Added** - - `employee_compensations[].last_name` **Added** - - `employee_compensations[].paid_time_off[].final_payout_unused_hours_input` **Changed** (Breaking ⚠️) - - `employee_compensations[].payment_method.enum(historical)` **Added** (Breaking ⚠️) - - `employee_compensations[].preferred_first_name` **Added** - - `employee_compensations[].reimbursements` **Added** - - `employee_compensations[].taxes` **Removed** (Breaking ⚠️) - - `employee_compensations[].version` **Changed** (Breaking ⚠️) - - `fixed_withholding_rate` **Changed** (Breaking ⚠️) - - `off_cycle_reason.enum(adhoc)` **Added** (Breaking ⚠️) - - `partner_owned_disbursement` **Added** - - `processed_date` **Changed** (Breaking ⚠️) - - `skip_regular_deductions` **Changed** (Breaking ⚠️) - - `withholding_pay_period` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.payrolls.get()`: - * `request` **Changed** (Breaking ⚠️) - - `include[].enum(payroll_taxes)` **Added** - - `include[].enum(reversals)` **Added** - - `include[].enum(risk_blockers)` **Added** - - `include[].enum(totals)` **Added** - - `page` **Added** - - `per` **Added** - - `sort_by` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `calculated_at` **Changed** (Breaking ⚠️) - - `credit_blockers[].unblock_options[]` **Changed** (Breaking ⚠️) - - `employee_compensations[].additional_properties` **Added** - - `employee_compensations[].deductions[].amount_type` **Added** - - `employee_compensations[].deductions[].updatable_via_payroll` **Added** - - `employee_compensations[].deductions[].uuid` **Added** - - `employee_compensations[].first_name` **Added** - - `employee_compensations[].last_name` **Added** - - `employee_compensations[].paid_time_off[].final_payout_unused_hours_input` **Changed** (Breaking ⚠️) - - `employee_compensations[].payment_method.enum(historical)` **Added** (Breaking ⚠️) - - `employee_compensations[].preferred_first_name` **Added** - - `employee_compensations[].reimbursements` **Added** - - `employee_compensations[].version` **Changed** (Breaking ⚠️) - - `fixed_withholding_rate` **Changed** (Breaking ⚠️) - - `off_cycle_reason.enum(adhoc)` **Added** (Breaking ⚠️) - - `partner_owned_disbursement` **Added** - - `payroll_taxes` **Added** - - `processed_date` **Changed** (Breaking ⚠️) - - `skip_regular_deductions` **Changed** (Breaking ⚠️) - - `submission_blockers[].unblock_options[].metadata` **Changed** (Breaking ⚠️) - - `withholding_pay_period` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.webhooks.request_verification_token()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.status[200]` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.webhooks.delete_subscription()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.introspection.get_token_info()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** - - `resource.type` **Changed** - - `resource.uuid` **Changed** - - `resource_owner.type` **Changed** - - `resource_owner.uuid` **Changed** - - `scope` **Changed** -* `gusto_app_integration.introspection.revoke()`: `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** -* `gusto_app_integration.introspection.disconnect_app_integration()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.companies.provision()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[401]` **Removed** (Breaking ⚠️) -* `gusto_app_integration.companies.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `compensations.fixed[].uuid` **Added** - - `compensations.hourly[].uuid` **Added** - - `compensations.paid_time_off[].uuid` **Added** - - `funding_type.enum(brex)` **Removed** (Breaking ⚠️) - - `funding_type.enum(line_of_credit)` **Added** (Breaking ⚠️) - - `funding_type.enum(partner_disbursement)` **Added** (Breaking ⚠️) - - `funding_type.enum(rtp)` **Added** (Breaking ⚠️) - - `is_high_risk_business` **Added** - - `is_marijuana_business` **Added** - - `locations[].inactive` **Added** - - `locations[].zip_code` **Added** - - `locations[].zip` **Removed** (Breaking ⚠️) - - `primary_signatory.home_address.zip_code` **Added** - - `primary_signatory.home_address.zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.companies.update()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `compensations.fixed[].uuid` **Added** - - `compensations.hourly[].uuid` **Added** - - `compensations.paid_time_off[].uuid` **Added** - - `funding_type.enum(brex)` **Removed** (Breaking ⚠️) - - `funding_type.enum(line_of_credit)` **Added** (Breaking ⚠️) - - `funding_type.enum(partner_disbursement)` **Added** (Breaking ⚠️) - - `funding_type.enum(rtp)` **Added** (Breaking ⚠️) - - `is_high_risk_business` **Added** - - `is_marijuana_business` **Added** - - `locations[].inactive` **Added** - - `locations[].zip_code` **Added** - - `locations[].zip` **Removed** (Breaking ⚠️) - - `primary_signatory.home_address.zip_code` **Added** - - `primary_signatory.home_address.zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.companies.get_admins()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[].phone` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.companies.get_custom_fields()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.custom_fields[].description` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.locations.create()`: - * `request` **Changed** (Breaking ⚠️) - - `country` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `inactive` **Added** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.locations.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `inactive` **Added** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employee_employments.update_termination()`: - * `request` **Changed** (Breaking ⚠️) - - `run_termination_payroll` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.locations.get_minimum_wages()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.company_locations.list()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `inactive` **Added** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.pay_schedules.list()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `anchor_end_of_pay_period` **Changed** (Breaking ⚠️) - - `anchor_pay_date` **Changed** (Breaking ⚠️) - - `auto_payroll_enablement_blockers` **Added** - - `auto_payroll` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.pay_schedules.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `anchor_end_of_pay_period` **Changed** (Breaking ⚠️) - - `anchor_pay_date` **Changed** (Breaking ⚠️) - - `auto_payroll_enablement_blockers` **Added** - - `auto_payroll` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.pay_schedules.get_pay_periods()`: - * `request` **Changed** (Breaking ⚠️) - - `end_date` **Changed** (Breaking ⚠️) - - `payroll_types` **Changed** (Breaking ⚠️) - - `start_date` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.pay_schedules.get_unprocessed_termination_pay_periods()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.pay_schedules.get_assignments()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.employees[].pay_schedule_uuid` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employees.get()`: - * `request` **Changed** (Breaking ⚠️) - - `include[].enum(all_home_addresses)` **Added** - - `include[].enum(current_home_address)` **Added** - - `include[].enum(portal_invitations)` **Added** - - `location_uuid` **Added** - - `onboarded_active` **Added** - - `onboarded` **Added** - - `payroll_uuid` **Added** - - `sort_by` **Added** - - `terminated_today` **Added** - - `uuids` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `additional_properties` **Added** - - `all_home_addresses` **Added** - - `applicable_tax_ids` **Added** - - `current_home_address` **Added** - - `custom_fields[].description` **Changed** (Breaking ⚠️) - - `department_uuid` **Added** - - `eligible_paid_time_off[].accrual_balance` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_method` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_period` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_rate` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_unit` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_uuid` **Changed** (Breaking ⚠️) - - `employee_code` **Added** - - `flsa_status` **Added** - - `hidden_ssn` **Added** - - `hired_at` **Added** - - `historical` **Added** - - `jobs[].compensations[].title` **Added** - - `jobs[].location_uuid` **Added** - - `jobs[].location` **Added** - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `title` **Added** - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employees.create()`: - * `request` **Changed** (Breaking ⚠️) - - `email` **Changed** - - `work_email` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `applicable_tax_ids` **Added** - - `custom_fields[].description` **Changed** (Breaking ⚠️) - - `department_uuid` **Added** - - `eligible_paid_time_off[].accrual_balance` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_method` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_period` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_rate` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_unit` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_uuid` **Changed** (Breaking ⚠️) - - `employee_code` **Added** - - `flsa_status` **Added** - - `hidden_ssn` **Added** - - `hired_at` **Added** - - `historical` **Added** - - `jobs[].compensations[].title` **Added** - - `jobs[].location_uuid` **Added** - - `jobs[].location` **Added** - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `title` **Added** - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employees.get_by_id()`: - * `request` **Changed** (Breaking ⚠️) - - `include[].enum(all_home_addresses)` **Added** - - `include[].enum(current_home_address)` **Added** - - `include[].enum(portal_invitations)` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `applicable_tax_ids` **Added** - - `custom_fields[].description` **Changed** (Breaking ⚠️) - - `department_uuid` **Added** - - `eligible_paid_time_off[].accrual_balance` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_method` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_period` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_rate` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_unit` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_uuid` **Changed** (Breaking ⚠️) - - `employee_code` **Added** - - `flsa_status` **Added** - - `hidden_ssn` **Added** - - `hired_at` **Added** - - `historical` **Added** - - `jobs[].compensations[].title` **Added** - - `jobs[].location_uuid` **Added** - - `jobs[].location` **Added** - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `title` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employees.update()`: - * `request` **Changed** (Breaking ⚠️) - - `work_email` **Added** - - `x_gusto_api_version` **Changed** (Breaking ⚠️) - * `response` **Changed** (Breaking ⚠️) - - `applicable_tax_ids` **Added** - - `custom_fields[].description` **Changed** (Breaking ⚠️) - - `department_uuid` **Added** - - `eligible_paid_time_off[].accrual_balance` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_method` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_period` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_rate` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].accrual_unit` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_name` **Changed** (Breaking ⚠️) - - `eligible_paid_time_off[].policy_uuid` **Changed** (Breaking ⚠️) - - `employee_code` **Added** - - `flsa_status` **Added** - - `hidden_ssn` **Added** - - `hired_at` **Added** - - `historical` **Added** - - `jobs[].compensations[].title` **Added** - - `jobs[].location_uuid` **Added** - - `jobs[].location` **Added** - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `title` **Added** - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employees.delete()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** -* `gusto_app_integration.employees.get_custom_fields()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.custom_fields[].description` **Changed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employees.get_time_off_activities()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.employee_employments.create_termination()`: - * `request` **Changed** (Breaking ⚠️) - - `run_termination_payroll` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.departments.create()`: - * `request` **Changed** (Breaking ⚠️) - - `title` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.departments.get_all()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.departments.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.departments.update()`: - * `request` **Changed** (Breaking ⚠️) - - `title` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** - - `status[409]` **Added** -* `gusto_app_integration.departments.delete()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.departments.add_people()`: - * `request` **Changed** (Breaking ⚠️) - - `version` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.departments.remove_people()`: - * `request` **Changed** (Breaking ⚠️) - - `version` **Changed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.employees.get_terminations()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employee_employments.delete_termination()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error` **Changed** (Breaking ⚠️) - - `errors[].errors` **Removed** (Breaking ⚠️) - - `errors[].metadata` **Removed** (Breaking ⚠️) - - `status[422]` **Added** -* `gusto_app_integration.locations.update()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `inactive` **Added** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employee_employments.create_rehire()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employee_employments.update_rehire()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employee_employments.get_rehire()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.status[204]` **Added** (Breaking ⚠️) - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employee_employments.delete_rehire()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error` **Changed** (Breaking ⚠️) - - `errors[].errors` **Removed** (Breaking ⚠️) - - `errors[].metadata` **Removed** (Breaking ⚠️) - - `status[422]` **Added** -* `gusto_app_integration.employee_employments.get_history()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[].termination_date` **Changed** (Breaking ⚠️) - * `errors[]` **Changed** (Breaking ⚠️) - - `errors` **Removed** (Breaking ⚠️) - - `metadata` **Removed** (Breaking ⚠️) -* `gusto_app_integration.employee_addresses.list_home_addresses()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `uuid` **Changed** - - `version` **Changed** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.create()`: - * `request` **Changed** (Breaking ⚠️) - - `effective_date` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `uuid` **Changed** - - `version` **Changed** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `uuid` **Changed** - - `version` **Changed** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.update()`: - * `request` **Changed** (Breaking ⚠️) - - `effective_date` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `uuid` **Changed** - - `version` **Changed** - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.delete_home_address()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.get_work_addresses()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.create_work_address()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.get_work_address()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.update_work_address()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `zip_code` **Added** - - `zip` **Removed** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.employee_addresses.delete_work_address()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.jobs.create_compensation()`: - * `request` **Changed** (Breaking ⚠️) - - `rate` **Changed** (Breaking ⚠️) - - `title` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.title` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.jobs_and_compensations.get_compensations_for_job()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[].title` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.jobs_and_compensations.get_compensation()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.title` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.jobs_and_compensations.update_compensation()`: - * `request` **Changed** (Breaking ⚠️) - - `effective_date` **Added** - - `title` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.title` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.jobs_and_compensations.delete_compensation()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error` **Changed** - - `` **Added** - - `status[422]` **Added** -* `gusto_app_integration.earning_types.create()`: - * `request` **Changed** (Breaking ⚠️) - - `name` **Changed** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.active` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.earning_types.get()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.default[].active` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.earning_types.update()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.active` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.earning_types.deactivate()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.contractors.create()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `address.zip_code` **Added** - - `address.zip` **Removed** (Breaking ⚠️) - - `department_title` **Added** - - `department` **Added** - - `dismissal_cancellation_eligible` **Added** - - `dismissal_date` **Added** - - `file_new_hire_report` **Changed** (Breaking ⚠️) - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `rehire_cancellation_eligible` **Added** - - `upcoming_employment` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.contractors.get()`: - * `request` **Changed** (Breaking ⚠️) - - `include` **Added** - - `onboarded_active` **Added** - - `onboarded` **Added** - - `sort_by` **Added** - - `terminated_today` **Added** - - `terminated` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.[]` **Changed** (Breaking ⚠️) - - `address.zip_code` **Added** - - `address.zip` **Removed** (Breaking ⚠️) - - `department_title` **Added** - - `department` **Added** - - `dismissal_cancellation_eligible` **Added** - - `dismissal_date` **Added** - - `file_new_hire_report` **Changed** (Breaking ⚠️) - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `rehire_cancellation_eligible` **Added** - - `upcoming_employment` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.contractors.get_by_id()`: - * `request` **Changed** (Breaking ⚠️) - - `include` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `address.zip_code` **Added** - - `address.zip` **Removed** (Breaking ⚠️) - - `department_title` **Added** - - `department` **Added** - - `dismissal_cancellation_eligible` **Added** - - `dismissal_date` **Added** - - `file_new_hire_report` **Changed** (Breaking ⚠️) - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `rehire_cancellation_eligible` **Added** - - `upcoming_employment` **Added** - * `error.status[404]` **Added** -* `gusto_app_integration.contractors.update()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response` **Changed** (Breaking ⚠️) - - `address.zip_code` **Added** - - `address.zip` **Removed** (Breaking ⚠️) - - `department_title` **Added** - - `department` **Added** - - `dismissal_cancellation_eligible` **Added** - - `dismissal_date` **Added** - - `file_new_hire_report` **Changed** (Breaking ⚠️) - - `member_portal_invitation_status` **Added** - - `partner_portal_invitation_sent` **Added** - - `rehire_cancellation_eligible` **Added** - - `upcoming_employment` **Added** - * `error` **Changed** - - `` **Added** - - `status[409]` **Added** -* `gusto_app_integration.webhooks.create()`: - * `request` **Changed** (Breaking ⚠️) - - `subscription_types[].enum(payroll_sync)` **Added** - - `subscription_types[].enum(people_batch)` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️) - * `error.status[404]` **Removed** (Breaking ⚠️) -* `gusto_app_integration.webhooks.list_subscriptions()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.[].subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️) - * `error.status[404]` **Removed** (Breaking ⚠️) -* `gusto_app_integration.webhooks.update_subscription()`: - * `request` **Changed** (Breaking ⚠️) - - `subscription_types[].enum(payroll_sync)` **Added** - - `subscription_types[].enum(people_batch)` **Added** - - `x_gusto_api_version.enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `x_gusto_api_version.enum(2025_06_15)` **Added** - * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.webhooks.get_subscription()`: - * `request.x_gusto_api_version` **Changed** (Breaking ⚠️) - - `enum(2024_04_01)` **Removed** (Breaking ⚠️) - - `enum(2025_06_15)` **Added** - * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️) - * `error.status[404]` **Added** -* `gusto_app_integration.reimbursements.get_v1_recurring_reimbursements()`: **Added** -* `gusto_app_integration.salary_estimates.get_v1_salary_estimates_occupations()`: **Added** -* `gusto_app_integration.contractor_payment_groups.preview()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.employee_employments.get_v1_terminations_employee_id()`: **Added** -* `gusto_app_integration.contractor_payment_groups.get()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.jobs_and_compensations.delete()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.jobs_and_compensations.update_job()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.jobs_and_compensations.get()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.jobs_and_compensations.get_jobs()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.jobs.create()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.introspection.refresh_access_token()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.reimbursements.delete_v1_recurring_reimbursements()`: **Added** -* `gusto_app_integration.reimbursements.put_v1_recurring_reimbursements()`: **Added** -* `gusto_app_integration.salary_estimates.put_v1_salary_estimates_id()`: **Added** -* `gusto_app_integration.reimbursements.post_v1_employees_employee_id_recurring_reimbursements()`: **Added** -* `gusto_app_integration.reimbursements.get_v1_employees_employee_id_recurring_reimbursements()`: **Added** -* `gusto_app_integration.time_tracking.post_companies_company_uuid_time_tracking_payroll_syncs()`: **Added** -* `gusto_app_integration.contractor_payment_groups.fetch()`: **Removed** (Breaking ⚠️) -* `gusto_app_integration.introspection.oauth_access_token()`: **Added** -* `gusto_app_integration.salary_estimates.post_v1_salary_estimates_uuid_accept()`: **Added** -* `gusto_app_integration.time_tracking.get_time_tracking_payroll_syncs_payroll_sync_uuid()`: **Added** -* `gusto_app_integration.time_off_requests.get_v1_companies_company_id_time_off_requests()`: **Added** -* `gusto_app_integration.notifications.get_company_notifications()`: **Added** -* `gusto_app_integration.salary_estimates.post_v1_employees_employee_id_salary_estimates()`: **Added** -* `gusto_app_integration.salary_estimates.get_v1_salary_estimates_id()`: **Added** -* `gusto_app_integration.employee_benefits.patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_year()`: **Added** -* `gusto_app_integration.employee_benefits.get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_year()`: **Added** -* `gusto_app_integration.employee_benefits.post_v1_employees_employee_uuid_section603_high_earner_statuses()`: **Added** -* `gusto_app_integration.employee_benefits.get_v1_employees_employee_uuid_section603_high_earner_statuses()`: **Added** -* `gusto_app_integration.company_benefits.put_v1_company_benefits_company_benefit_id_contribution_exclusions()`: **Added** -* `gusto_app_integration.company_benefits.get_v1_company_benefits_company_benefit_id_contribution_exclusions()`: **Added** -* `gusto_app_integration.reports.post_v1_companies_company_id_reports_employees_annual_fica_wage()`: **Added** -* `gusto_app_integration.reports.get_reports_request_uuid()`: **Added** -* `gusto_app_integration.reports.post_payrolls_payroll_uuid_reports_general_ledger()`: **Added** -* `gusto_app_integration.time_off_policies.put_v1_time_off_policies_time_off_policy_uuid_add_employees()`: **Added** -* `gusto_app_integration.time_off_policies.get_v1_companies_company_uuid_time_off_policies()`: **Added** -* `gusto_app_integration.time_off_policies.get_v1_time_off_policies_time_off_policy_uuid()`: **Added** -* `gusto_app_integration.webhooks.get_v1_webhooks_health_check()`: **Added** -* `gusto_app_integration.contractors.get_v1_companies_company_id_contractors_payment_details()`: **Added** +* `gusto.contractors.post_v1_contractors_contractor_uuid_rehire()`: `error.status[422]` **Added** +* `gusto.contractors.delete_v1_contractors_contractor_uuid_rehire()`: `error.status[422]` **Added** +* `gusto.contractors.post_v1_contractors_contractor_uuid_termination()`: `error.status[422]` **Added** +* `gusto.contractors.delete_v1_contractors_contractor_uuid_termination()`: `error.status[422]` **Added** +* `gusto.employees.get_onboarding_status()`: `response.blockers` **Added** +* `gusto.employees.update_onboarding_status()`: `response.blockers` **Added** +* `gusto.payrolls.get_approved_reversals()`: `request.x_gusto_api_version` **Changed** +* `gusto.generated_documents.get()`: `request.x_gusto_api_version` **Changed** +* `gusto.pay_schedules.get_preview()`: `request.pay_schedule_uuid` **Added** +* `gusto.webhooks.list_subscriptions()`: `response.[].subscription_types[].enum(time_off_request)` **Added** +* `gusto.webhooks.create_subscription()`: + * `request.subscription_types[].enum(time_off_request)` **Added** + * `response.subscription_types[].enum(time_off_request)` **Added** +* `gusto.webhooks.get_subscription()`: `response.subscription_types[].enum(time_off_request)` **Added** +* `gusto.webhooks.update_subscription()`: + * `request.subscription_types[].enum(time_off_request)` **Added** + * `response.subscription_types[].enum(time_off_request)` **Added** +* `gusto.webhooks.verify()`: `response.subscription_types[].enum(time_off_request)` **Added** diff --git a/.speakeasy/logs/changes/new.openapi.yaml b/.speakeasy/logs/changes/new.openapi.yaml index 323190cf..050ee8ba 100644 --- a/.speakeasy/logs/changes/new.openapi.yaml +++ b/.speakeasy/logs/changes/new.openapi.yaml @@ -15,11 +15,13 @@ tags: - name: Jobs and Compensations - name: Earning Types - name: I-9 Verification + - name: Information Requests - name: Contractor Payment Groups - name: Contractor Payment Method - name: Contractor Payments - name: Contractors - name: Payrolls + - name: People Batches - name: Company Forms - name: Contractor Documents - name: Employee Forms @@ -33,6 +35,8 @@ tags: - name: Tax Requirements - name: Contractor Forms - name: Time Off Policies + - name: Time Off Requests + - name: Time Tracking - name: Holiday Pay Policies - name: Departments - name: Reports @@ -45,16 +49,12 @@ tags: - name: Company Attachment - name: Wire In Requests - name: ACH Transactions - - name: Information Requests - - name: Time Tracking - - name: Time Off Requests - name: Salary Estimates - name: Reimbursements - - name: People Batches - name: Payroll Digests info: title: Gusto API - version: '2025-06-15' + version: '2026-06-15' termsOfService: https://gusto.com/about/terms/developer-terms-of-service description: Welcome to Gusto's Embedded Payroll API documentation! contact: @@ -67,13919 +67,324 @@ servers: - url: https://api.gusto.com description: Prod x-speakeasy-server-id: prod -paths: - "/v1/token_info": - get: - summary: Get info about the current access token - operationId: get-v1-token-info - security: - - CompanyAccessAuth: [] - description: |- - Returns scope and resource information associated with the current access token. Use this endpoint to verify the following for the current access token: - * Resource (company, employee, contractor, or application) and resource owner - * Access level - tags: - - Introspection - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Token-Info" - x-speakeasy-name-override: getTokenInfo - "/oauth/revoke": - post: - summary: Revoke access token - operationId: revoke-access-token - security: [] - description: Revokes the given access token. After revoking, this token can no longer be used to make requests nor can it be refreshed. - tags: - - Introspection - x-gusto-integration-type: - - app-integrations - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-gusto-rswag: true - responses: - '200': - description: OK - requestBody: - content: - application/json: - schema: - type: object - description: '' - required: - - client_id - - client_secret - - token - properties: - client_id: - type: string - description: Your client id - client_secret: - type: string - description: Your client secret - token: - type: string - description: The access token that will be revoked. - required: true - x-speakeasy-name-override: revoke - "/oauth/token": - post: - summary: Create a System Access Token or Refresh an Access Token - operationId: oauth-access-token - security: [] - description: Creates a system access token or refreshes an oauth access token - tags: - - Introspection - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Authentication" - requestBody: - content: - application/json: - schema: - oneOf: - - type: object - title: Refresh Token Request - required: - - client_id - - client_secret - - grant_type - - refresh_token - properties: - client_id: - type: string - description: Your client ID - example: qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8 - client_secret: - type: string - description: Your client secret - example: 3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w - grant_type: - type: string - enum: - - refresh_token - description: Set system_access to create a system access token, refresh_token to refresh an existing token - refresh_token: - type: string - descrition: The refresh token being exchanged for an access token code - example: iEjL96L9Pndwmi-xVX3Q-xbrvvhnjHYGX87sopgGJ8E - redirect_uri: - type: string - description: The redirect URI you set up via the Developer Portal - - type: object - title: System Access Token Request - required: - - client_id - - client_secret - - grant_type - properties: - client_id: - type: string - description: Your client ID - example: qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8 - client_secret: - type: string - description: Your client secret - example: 3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w - grant_type: - type: string - description: Set system_access to create a system access token, refresh_token to refresh an existing token - enum: - - system_access - required: true - "/v1/provision": - post: - summary: Create a company - operationId: post-v1-provision - security: - - SystemAccessAuth: [] - description: "### Overview\nThe company provisioning API provides a way to create a Gusto company as part of your integration. When you successfully call the API, the API does the following:\n* Creates a new company in Gusto.\n* Creates a new user in Gusto.\n* Makes the new user the primary payroll administrator of the new company.\n* Sends a welcome email to the new user.\nIn the response, you will receive an account claim URL. Redirect the user to this URL to complete their account setup inside of Gusto\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `accounts:write`" - tags: - - Companies - x-gusto-integration-type: - - app-integrations - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-gusto-rswag: true - responses: - '201': - description: OK - content: - application/json: - schema: - "$ref": "#/components/schemas/Provision-Created" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Provision-Create-Request-Body" - required: true - x-speakeasy-name-override: provision - "/v1/companies/{company_id}": - get: - summary: Get a company - operationId: get-v1-companies - security: - - CompanyAccessAuth: [] - description: |- - Get a company. - - The employees:read scope is required to return home_address and non-work locations. - The company_admin:read scope is required to return primary_payroll_admin. - The signatories:read scope is required to return primary_signatory. - - scope: `companies:read` - tags: - - Companies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Company" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - put: - summary: Update a company - operationId: put-v1-companies - security: - - CompanyAccessAuth: [] - description: |- - Update a company. - - scope: `companies:write` - tags: - - Companies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Company" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - contractor_only - properties: - contractor_only: - type: boolean - description: Whether the company only supports contractors. Must be updated in order for the company to start supporting W-2 employees. Can only be updated from true to false. Note that updating this value will require additional onboarding steps to be completed in order for the company to support W-2 employees. - required: true - x-speakeasy-name-override: update - "/v1/companies/{company_id}/disconnect_app_integration": - post: - summary: Disconnect an app integration - operationId: post-v1-disconnect-app-integration - security: - - SystemAccessAuth: [] - description: "Disconnects the given company from the App Integration associated with the current system access token. If multiple users from that company are authorized with the App Integration, then their tokens will also be revoked.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `companies:disconnect_app_integration`" - tags: - - Introspection - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: The UUID of the company - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No content - Disconnect was successful - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: disconnectAppIntegration - "/v1/companies/{company_id}/admins": - get: - summary: Get all the admins at a company - operationId: get-v1-companies-company_id-admins - security: - - CompanyAccessAuth: [] - description: |- - Returns a list of all the admins at a company - - scope: `company_admin:read` - tags: - - Companies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Admin" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getAdmins - "/v1/companies/{company_id}/custom_fields": - get: - summary: Get the custom fields of a company - operationId: get-v1-companies-company_id-custom_fields - security: - - CompanyAccessAuth: [] - description: |- - Returns a list of the custom fields of the company. Useful when you need to know the schema of custom fields for an entire company. - - scope: `companies:read` - tags: - - Companies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Custom-Field-List" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getCustomFields - "/v1/companies/{company_id}/locations": - get: - summary: Get all company locations - operationId: get-v1-companies-company_id-locations - security: - - CompanyAccessAuth: [] - description: |- - Retrieves all company locations (addresses) associated with a company: mailing addresses, filing - addresses, or work locations. A single address may serve multiple, or all, purposes. - - Since all company locations are subsets of locations, use the Locations endpoints to - [get](ref:get-v1-locations-location_id) or [update](ref:put-v1-locations-location_id) an individual record. - - scope: `companies:read` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Locations-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: companyLocations - x-speakeasy-name-override: list - post: - summary: Create a company location - operationId: post-v1-companies-company_id-locations - security: - - CompanyAccessAuth: [] - description: |- - Create a company location, which represents any address associated with a company: mailing - addresses, filing addresses, or work locations. A single address may serve multiple, or all, purposes. - - Since all company locations are subsets of locations, use the Locations endpoints to - [get](ref:get-v1-locations-location_id) or [update](ref:put-v1-locations-location_id) an individual record. - - scope: `companies:write` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Created - content: - application/json: - schema: - "$ref": "#/components/schemas/Location" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Location-Request" - required: true - x-speakeasy-name-override: create - "/v1/locations/{location_id}": - get: - summary: Get a location - operationId: get-v1-locations-location_id - security: - - CompanyAccessAuth: [] - description: |- - Get a location. - - scope: `companies:read` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: location_id - in: path - description: The UUID of the location - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Location" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - put: - summary: Update a location - operationId: put-v1-locations-location_id - security: - - CompanyAccessAuth: [] - description: |- - Update a location. - - scope: `companies:write` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: location_id - in: path - description: The UUID of the location - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Location" - '422': - description: Invalid state - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '409': - description: Invalid version param - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - phone_number: - type: string - pattern: "[0-9]{10}" - example: '8009360383' - street_1: - type: string - example: 300 3rd Street - street_2: - type: - - string - - 'null' - example: Apartment 318 - city: - type: string - example: San Francisco - state: - type: string - zip: - type: string - example: '94107' - x-speakeasy-name-override: zip_code - country: - type: string - mailing_address: - type: boolean - description: For a company location, specify if this location is the company's mailing address. A company has a single mailing address, so this designation will override any previous selection. - filing_address: - type: boolean - description: For a company location, specify if this location is the company's filing address. A company has a single filing address, so this designation will override any previous selection. - required: true - x-speakeasy-name-override: update - "/v1/locations/{location_uuid}/minimum_wages": - get: - summary: Get minimum wages for a location - operationId: get-v1-locations-location_uuid-minimum_wages - security: - - CompanyAccessAuth: [] - description: |- - Get minimum wages for a location - - scope: `companies:read` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: location_uuid - in: path - description: The UUID of the location - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: effective_date - in: query - required: false - example: '2020-01-31' - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Minimum-Wage-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getMinimumWages - "/v1/companies/{company_id}/pay_schedules": - get: - summary: Get the pay schedules for a company - operationId: get-v1-companies-company_id-pay_schedules - security: - - CompanyAccessAuth: [] - description: |- - Returns all pay schedules for a company. The pay schedule object captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. - - scope: `pay_schedules:read` - tags: - - Pay Schedules - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Show-Response" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: list - "/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}": - get: - summary: Get a pay schedule - operationId: get-v1-companies-company_id-pay_schedules-pay_schedule_id - security: - - CompanyAccessAuth: [] - description: |- - Returns a single pay schedule by UUID. The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. - - scope: `pay_schedules:read` - tags: - - Pay Schedules - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: pay_schedule_id - in: path - description: The UUID of the pay schedule - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Show" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: get - "/v1/companies/{company_id}/pay_periods": - get: - summary: Get pay periods for a company - operationId: get-v1-companies-company_id-pay_periods - security: - - CompanyAccessAuth: [] - description: |- - Pay periods are the foundation of payroll. Compensation, time & attendance, taxes, and expense reports all rely on when they happened. - - To begin submitting information for a given payroll, we need to agree on the time period. - - By default, this endpoint returns pay periods starting from 6 months ago to the date today. Use the `start_date` and `end_date` parameters to change the scope of the response. End dates can be up to 3 months in the future and there is no limit on start dates. - - Starting in version 2023-04-01, the `eligible_employees` attribute was removed from the response. The eligible employees for a payroll are determined by the employee_compensations returned from the [PUT /v1/companies/{company_id}/payrolls/{payroll_id}/prepare](ref:put-v1-companies-company_id-payrolls-payroll_id-prepare) endpoint. - - scope: `payrolls:read` - tags: - - Payrolls - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: start_date - in: query - required: false - schema: - type: string - format: date - description: Start date (YYYY-MM-DD) for the pay periods range. Defaults to 6 months ago. - - name: end_date - in: query - required: false - schema: - type: string - format: date - description: End date (YYYY-MM-DD) for the pay periods range. Cannot be more than 3 months in the future. Defaults to today. - - name: payroll_types - in: query - required: false - schema: - type: string - enum: - - regular - - transition - - regular,transition - description: Comma-separated list of payroll types to include (regular, transition). Defaults to regular only. - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Pay-Period" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: getPayPeriods - "/v1/companies/{company_id}/pay_periods/unprocessed_termination_pay_periods": - get: - summary: Get termination pay periods for a company - operationId: get-v1-companies-company_id-unprocessed_termination_pay_periods - security: - - CompanyAccessAuth: [] - description: |- - When a payroll admin terminates an employee and selects "Dismissal Payroll" as the employee's final payroll, their last pay period will appear on the list. - - This endpoint returns the unprocessed pay periods for past and future terminated employees in a given company. - - scope: `payrolls:read` - tags: - - Pay Schedules - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Unprocessed-Termination-Pay-Period" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: getUnprocessedTerminationPayPeriods - "/v1/companies/{company_id}/pay_schedules/assignments": - get: - summary: Get pay schedule assignments for a company - operationId: get-v1-companies-company_id-pay_schedules-assignments - security: - - CompanyAccessAuth: [] - description: |- - This endpoint returns the current pay schedule assignment for a company, with pay schedule and employee/department mappings depending on the pay schedule type. - - scope: `pay_schedules:read` - tags: - - Pay Schedules - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Assignment" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: getAssignments - "/v1/companies/{company_id}/employees": - get: - summary: Get employees of a company - operationId: get-v1-companies-company_id-employees - security: - - CompanyAccessAuth: [] - description: |- - Get all of the employees, onboarding, active and terminated, for a given company. - - Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. - - scope: `employees:read` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: The UUID of the company - schema: - type: string - - name: location_uuid - in: query - required: false - description: Filter employees by a specific primary work location - schema: - type: string - - name: payroll_uuid - in: query - required: false - description: Filter employees by a specific payroll - schema: - type: string - - name: search_term - in: query - required: false - description: A string to search for in the object's names - schema: - type: string - - name: sort_by - in: query - required: false - schema: - type: string - pattern: "^(created_at|name|onboarding_status)(:(asc|desc))?(,(created_at|name|onboarding_status)(:(asc|desc))?)*$" - example: created_at:asc - description: Sort employees by a given field. Cannot be used with search_term. Append `:asc` or `:desc` to specify direction (e.g., `name:desc`). Defaults to ascending. - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - all_compensations - - all_home_addresses - - company_name - - current_home_address - - custom_fields - - portal_invitations - x-enumDescriptions: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation. Requires `compensations:read` scope. - all_home_addresses: Include all home addresses that have been associated to this employee - company_name: Include the name of the company that the employee is associated with - current_home_address: Include the employee's current home address - custom_fields: Include employees' custom fields - portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status - description: Include the requested attribute(s) in each employee response. Multiple options are comma separated. - - name: onboarded - in: query - required: false - description: Filters employees by those who have completed onboarding - schema: - type: boolean - - name: onboarded_active - in: query - required: false - description: Filters employees who are ready to work (onboarded AND active today) - schema: - type: boolean - - name: terminated - in: query - required: false - description: Filters employees by those who have been or are scheduled to be terminated - schema: - type: boolean - - name: terminated_today - in: query - required: false - description: Filters employees by those who have been terminated and whose termination is in effect today (excludes active and scheduled to be terminated) - schema: - type: boolean - - name: uuids - in: query - explode: false - schema: - type: array - items: - type: string - required: false - description: Optional subset of employees to fetch. - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Show-Employees" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - post: - summary: Create an employee - operationId: post-v1-employees - security: - - CompanyAccessAuth: [] - description: |- - Create an employee. - - scope: `employees:manage` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: Company ID - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: invalid attributes - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - first_name - - last_name - properties: - first_name: - type: string - middle_initial: - type: string - last_name: - type: string - email: - type: - - string - - 'null' - format: email - description: The employee's personal email address. Required if self_onboarding is true. - work_email: - type: string - format: email - description: The employee's work email address. - date_of_birth: - type: string - format: date - ssn: - type: string - pattern: "[0-9]{9}" - preferred_first_name: - type: string - self_onboarding: - type: boolean - description: If true, employee is expected to self-onboard. If false, payroll admin is expected to enter in the employee's onboarding information - x-speakeasy-name-override: create - "/v1/companies/{company_uuid}/departments": - get: - summary: Get all departments of a company - operationId: get-companies-departments - security: - - CompanyAccessAuth: [] - description: |- - Get all of the departments for a given company with the employees and contractors assigned to that department. - - scope: `departments:read` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_uuid - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Department-List" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getAll - post: - summary: Create a department - operationId: post-departments - security: - - CompanyAccessAuth: [] - description: |- - Create a department - - scope: `departments:write` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_uuid - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '201': - description: Created - content: - application/json: - schema: - "$ref": "#/components/schemas/Department" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Department-Create-Request-Body" - required: true - x-speakeasy-name-override: create - "/v1/departments/{department_uuid}": - get: - summary: Get a department - operationId: get-department - security: - - CompanyAccessAuth: [] - description: |- - Get a department given the UUID - - scope: `departments:read` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: department_uuid - in: path - description: The UUID of the department - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Department" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - put: - summary: Update a department - operationId: put-departments - security: - - CompanyAccessAuth: [] - description: |- - Update a department - - scope: `departments:write` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: department_uuid - in: path - description: The UUID of the department - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Department" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '409': - description: Conflict - content: - application/json: - schema: - "$ref": "#/components/schemas/Conflict-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Department-Update-Request-Body" - required: true - x-speakeasy-name-override: update - delete: - summary: Delete a department - operationId: delete-department - security: - - CompanyAccessAuth: [] - description: |- - Delete a department. You cannot delete a department until all employees and contractors have been removed. - - scope: `departments:write` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: department_uuid - in: path - description: The UUID of the department - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: delete - "/v1/departments/{department_uuid}/add": - put: - summary: Add people to a department - operationId: put-add-people-to-department - security: - - CompanyAccessAuth: [] - description: |- - Add employees and contractors to a department - - scope: `departments:write` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: department_uuid - in: path - description: The UUID of the department - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Department" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Department-People-Request-Body" - required: true - x-speakeasy-name-override: addPeople - "/v1/departments/{department_uuid}/remove": - put: - summary: Remove people from a department - operationId: put-remove-people-from-department - security: - - CompanyAccessAuth: [] - description: |- - Remove employees and contractors from a department - - scope: `departments:write` - tags: - - Departments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: department_uuid - in: path - description: The UUID of the department - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Department" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Department-People-Request-Body" - required: true - x-speakeasy-name-override: removePeople - "/v1/employees/{employee_id}": - get: - summary: Get an employee - operationId: get-v1-employees - security: - - CompanyAccessAuth: [] - description: |- - Get an employee. - - Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. - - scope: `employees:read` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - all_compensations - - all_home_addresses - - company_name - - current_home_address - - custom_fields - - portal_invitations - x-enumDescriptions: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation. Requires `compensations:read` scope. - all_home_addresses: Include all home addresses that have been associated to this employee - company_name: Include the name of the company that the employee is associated with - current_home_address: Include the employee's current home address - custom_fields: Include employees' custom fields - portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status - description: Include the requested attribute(s) in each employee response. Multiple options are comma separated. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getById - put: - summary: Update an employee. - operationId: put-v1-employees - security: - - CompanyAccessAuth: [] - description: |- - Update an employee. - - scope: `employees:write` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee" - '409': - description: invalid version - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '422': - description: invalid attributes - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - first_name: - type: string - example: Weezy - middle_initial: - type: - - string - - 'null' - example: F - last_name: - type: string - example: Baby - email: - type: string - example: tunechi@cashmoneyrecords.com - work_email: - type: string - example: new.partner.work@example.com - date_of_birth: - type: string - example: '1991-01-31' - ssn: - type: string - pattern: "[0-9]{9}" - example: '824920233' - preferred_first_name: - type: - - string - - 'null' - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - required: true - x-speakeasy-name-override: update - delete: - summary: Delete an onboarding employee - operationId: delete-v1-employee - security: - - CompanyAccessAuth: [] - description: |- - Use this endpoint to delete an employee who is in onboarding. Deleting - an onboarded employee is not allowed and will return a 422 response. Please check out the Terminations api - if you need to terminate an onboarded employee. - - scope: `employees:manage` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: successful - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: cannot delete onboarded employee - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: delete - "/v1/employees/{employee_id}/terminations": - get: - summary: Get terminations for an employee - operationId: get-v1-employees-employee_id-terminations - security: - - CompanyAccessAuth: [] - description: |- - Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:read` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Termination" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employees - x-speakeasy-name-override: getTerminations - post: - summary: Create an employee termination - operationId: post-v1-employees-employee_id-terminations - security: - - CompanyAccessAuth: [] - description: |- - Create a termination for an employee. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:write` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Created - content: - application/json: - schema: - "$ref": "#/components/schemas/Termination" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - properties: - effective_date: - type: string - description: The employee's last day of work. - example: '2020-06-30' - run_termination_payroll: - type: boolean - description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. - default: false - example: true - required: - - effective_date - example: - effective_date: '2020-06-30' - run_termination_payroll: false - required: true - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: createTermination - delete: - summary: Delete an employee termination - operationId: delete-v1-employees-employee_id-terminations - security: - - CompanyAccessAuth: [] - description: |- - Delete an employee termination. - - scope: `employments:write` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: deleteTermination - "/v1/terminations/{employee_id}": - get: - summary: Get an employee termination - operationId: get-v1-terminations-employee_id - security: - - CompanyAccessAuth: [] - description: |- - Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:read` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Termination" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - put: - summary: Update an employee termination - operationId: put-v1-terminations-employee_id - security: - - CompanyAccessAuth: [] - description: |- - Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:write` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Termination" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - effective_date: - type: string - description: The employee's last day of work. - example: '2020-06-30' - run_termination_payroll: - type: boolean - description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. - default: false - example: true - required: - - effective_date - example: - version: d487dd0b55dfcacdd920ccbdaeafa351 - effective_date: '2020-06-30' - run_termination_payroll: false - required: true - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: updateTermination - "/v1/employees/{employee_id}/rehire": - get: - summary: Get an employee rehire - operationId: get-v1-employees-employee_id-rehire - security: - - CompanyAccessAuth: [] - description: |- - Retrieve an employee's rehire, which contains information on when the employee returns to work. - - scope: `employments:read` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire" - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getRehire - x-speakeasy-group: employeeEmployments - post: - summary: Create an employee rehire - operationId: post-v1-employees-employee_id-rehire - security: - - CompanyAccessAuth: [] - description: |- - Rehire is created whenever an employee is scheduled to return to the company. - - scope: `employments:write` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Created - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire-Body" - required: true - x-speakeasy-name-override: createRehire - x-speakeasy-group: employeeEmployments - put: - summary: Update an employee rehire - operationId: put-v1-employees-employee_id-rehire - security: - - CompanyAccessAuth: [] - description: |- - Update an employee's rehire. - - scope: `employments:write` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire-Update-Request-Body" - required: true - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: updateRehire - delete: - summary: Delete an employee rehire - operationId: delete-v1-employees-employee_id-rehire - security: - - CompanyAccessAuth: [] - description: |- - Delete an employee rehire. An employee rehire cannot be deleted if it's active (past effective date). - - scope: `employments:write` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: deleteRehire - "/v1/employees/{employee_id}/employment_history": - get: - summary: Get employment history for an employee - operationId: get-v1-employees-employee_id-employment_history - security: - - CompanyAccessAuth: [] - description: |- - Retrieve the employment history for a given employee, which includes termination and rehire. - - scope: `employments:read` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employment-History-List" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: getHistory - "/v1/employees/{employee_id}/home_addresses": - get: - summary: Get an employee's home addresses - operationId: get-v1-employees-employee_id-home_addresses - security: - - CompanyAccessAuth: [] - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:read` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Address-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: listHomeAddresses - x-speakeasy-group: employeeAddresses - post: - summary: Create an employee's home address - operationId: post-v1-employees-employee_id-home_addresses - security: - - CompanyAccessAuth: [] - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:write` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '201': - description: created - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Address" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - properties: - street_1: - type: string - example: 300 3rd Street - street_2: - type: - - string - - 'null' - city: - type: string - example: San Francisco - state: - type: string - example: CA - zip: - type: string - example: '94107' - x-speakeasy-name-override: zip_code - effective_date: - type: - - string - - 'null' - format: date - example: '2022-01-31' - courtesy_withholding: - type: boolean - required: true - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: create - "/v1/home_addresses/{home_address_uuid}": - get: - summary: Get an employee's home address - operationId: get-v1-home_addresses-home_address_uuid - security: - - CompanyAccessAuth: [] - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:read` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: home_address_uuid - in: path - description: The UUID of the home address - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Address" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: get - put: - summary: Update an employee's home address - operationId: put-v1-home_addresses-home_address_uuid - security: - - CompanyAccessAuth: [] - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:write` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: home_address_uuid - in: path - description: The UUID of the home address - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Address" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - street_1: - type: string - street_2: - type: - - string - - 'null' - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - effective_date: - type: - - string - - 'null' - format: date - courtesy_withholding: - type: boolean - required: true - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: update - delete: - summary: Delete an employee's home address - operationId: delete-v1-home_addresses-home_address_uuid - security: - - CompanyAccessAuth: [] - description: |- - Used for deleting an employee's home address. Cannot delete the employee's active home address. - - scope: `employees:write` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: home_address_uuid - in: path - description: The UUID of the home address - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: successful - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: deleteHomeAddress - "/v1/employees/{employee_id}/work_addresses": - get: - summary: Get an employee's work addresses - operationId: get-v1-employees-employee_id-work_addresses - security: - - CompanyAccessAuth: [] - description: |- - Returns a list of an employee's work addresses. Each address includes its effective - date and a boolean signifying if it is the currently active work address. - - scope: `employees:read` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: List of employee work addresses - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Addresses-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: getWorkAddresses - post: - summary: Create an employee work address - operationId: post-v1-employees-employee_id-work_addresses - security: - - CompanyAccessAuth: [] - description: |- - The work address of an employee describes when an employee began working at an associated company location. - - scope: `employees:manage` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '201': - description: created - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Address" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: unprocessable entity - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - properties: - location_uuid: - type: string - description: Reference to a company location - example: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 - effective_date: - type: string - format: date - description: Date the employee began working at the company location - example: '2023-05-15' - required: true - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: createWorkAddress - "/v1/work_addresses/{work_address_uuid}": - get: - summary: Get an employee work address - operationId: get-v1-work_addresses-work_address_uuid - security: - - CompanyAccessAuth: [] - description: |- - The work address of an employee is used for payroll tax purposes. - - scope: `employees:read` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: work_address_uuid - in: path - description: The UUID of the work address - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Address" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: getWorkAddress - put: - summary: Update an employee work address - operationId: put-v1-work_addresses-work_address_uuid - security: - - CompanyAccessAuth: [] - description: |- - The work address of an employee is used for payroll tax purposes. - - scope: `employees:manage` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: work_address_uuid - in: path - description: The UUID of the work address - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Address" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: unprocessable entity - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - location_uuid: - type: string - description: Reference to a company location - example: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 - effective_date: - type: string - format: date - example: '2023-05-15' - required: true - x-speakeasy-name-override: updateWorkAddress - x-speakeasy-group: employeeAddresses - delete: - summary: Delete an employee's work address - operationId: delete-v1-work_addresses-work_address_uuid - security: - - CompanyAccessAuth: [] - description: |- - Used for deleting an employee's work address. Cannot delete the employee's active work address. - - scope: `employees:manage` - tags: - - Employee Addresses - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: work_address_uuid - in: path - description: The UUID of the work address - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '204': - description: no content - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: unprocessable entity - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: deleteWorkAddress - "/v1/employees/{employee_id}/custom_fields": - get: - summary: Get an employee's custom fields - operationId: get-v1-employees-employee_id-custom_fields - security: - - CompanyAccessAuth: [] - description: |- - Returns a list of the employee's custom fields. - - scope: `employees:read` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Custom-Field-List" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getCustomFields - "/v1/employees/{employee_uuid}/time_off_activities": - get: - summary: Get employee time off activities - operationId: get-version-employees-time_off_activities - security: - - CompanyAccessAuth: [] - description: |- - Get employee time off activities. - - scope: `employee_time_off_activities:read` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_uuid - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: time_off_type - in: query - required: true - description: 'The time off type name you want to query data for. ex: ''sick'' or ''vacation''' - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Off-Activity-List" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: getTimeOffActivities - "/v1/jobs/{job_id}/compensations": - get: - summary: Get compensations for a job - operationId: get-v1-jobs-job_id-compensations - security: - - CompanyAccessAuth: [] - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - *Note: Currently the API does not support creating multiple compensations per job - creating a compensation with the same job_uuid as another will fail with a relevant error.* - - Use `flsa_status` to determine if an employee is eligible for overtime - By default the API returns only the current compensation - use the `include` parameter to return all compensations. - - scope: `compensations:read` - tags: - - Jobs and Compensations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: job_id - in: path - description: The UUID of the job - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: include - in: query - required: false - schema: - type: string - enum: - - all_compensations - description: | - Available options: - - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Compensation" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: getCompensationsForJob - post: - summary: Create a compensation - operationId: post-v1-compensations-compensation_id - security: - - CompanyAccessAuth: [] - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - ### Prerequisites - Before calling this endpoint: - 1. A [job](ref:post-v1-jobs-job_id) must exist for the employee - - ### Webhooks - - `employee_job_compensation.created`: Fires when a compensation is successfully created - - scope: `compensations:write` - tags: - - Jobs and Compensations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: job_id - in: path - description: The UUID of the job - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Compensation" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Compensations-Request-Body" - required: true - x-speakeasy-group: jobs - x-speakeasy-name-override: createCompensation - "/v1/compensations/{compensation_id}": - get: - summary: Get a compensation - operationId: get-v1-compensations-compensation_id - security: - - CompanyAccessAuth: [] - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - scope: `compensations:read` - tags: - - Jobs and Compensations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: compensation_id - in: path - description: The UUID of the compensation - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Compensation" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: getCompensation - put: - summary: Update a compensation - operationId: put-v1-compensations-compensation_id - security: - - CompanyAccessAuth: [] - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - ### Webhooks - - `employee_job_compensation.updated`: Fires when a compensation is successfully updated - - scope: `compensations:write` - tags: - - Jobs and Compensations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: compensation_id - in: path - description: The UUID of the compensation - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Compensation" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Compensations-Update-Request-Body" - required: true - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: updateCompensation - delete: - summary: Delete a compensation - operationId: delete-v1-compensations-compensation_id - security: - - CompanyAccessAuth: [] - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. This endpoint deletes a compensation for a job that hasn't been processed on payroll. - - ### Webhooks - - `employee_job_compensation.destroyed`: Fires when a compensation is successfully deleted - - scope: `compensations:write` - tags: - - Jobs and Compensations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: compensation_id - in: path - description: The UUID of the compensation - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: deleteCompensation - "/v1/companies/{company_id}/earning_types": - get: - summary: Get all earning types for a company - operationId: get-v1-companies-company_id-earning_types - security: - - CompanyAccessAuth: [] - description: |- - A payroll item in Gusto is associated to an earning type to name the type of earning described by the payroll item. - - #### Default Earning Type - Certain earning types are special because they have tax considerations. Those earning types are mostly the same for every company depending on its legal structure (LLC, Corporation, etc.) - - #### Custom Earning Type - Custom earning types are all the other earning types added specifically for a company. - - scope: `payrolls:read` - tags: - - Earning Types - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Earning-Type-List" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: earningTypes - x-speakeasy-name-override: get - post: - summary: Create a custom earning type - operationId: post-v1-companies-company_id-earning_types - security: - - CompanyAccessAuth: [] - description: |- - Create a custom earning type. - - If an inactive earning type exists with the same name, this will reactivate it instead of creating a new one. - - scope: `payrolls:write` - tags: - - Earning Types - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Earning-Type" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - name - properties: - name: - type: string - default: Gym Membership - description: The name of the custom earning type. - required: true - x-speakeasy-group: earningTypes - x-speakeasy-name-override: create - "/v1/companies/{company_id}/earning_types/{earning_type_uuid}": - put: - summary: Update an earning type - operationId: put-v1-companies-company_id-earning_types-earning_type_uuid - security: - - CompanyAccessAuth: [] - description: |- - Update an earning type. - - scope: `payrolls:write` - tags: - - Earning Types - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: earning_type_uuid - in: path - description: The UUID of the earning type - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Earning-Type" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - description: The name of the custom earning type. - required: true - x-speakeasy-group: earningTypes - x-speakeasy-name-override: update - delete: - summary: Deactivate an earning type - operationId: delete-v1-companies-company_id-earning_types-earning_type_uuid - security: - - CompanyAccessAuth: [] - description: |- - Deactivate an earning type. - - scope: `payrolls:write` - tags: - - Earning Types - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: earning_type_uuid - in: path - description: The UUID of the earning type - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: deactivate - x-speakeasy-group: earningTypes - "/v1/companies/{company_uuid}/contractors": - get: - summary: Get contractors of a company - operationId: get-v1-companies-company_uuid-contractors - security: - - CompanyAccessAuth: [] - description: |- - Get all contractors, active and inactive, individual and business, for a company. - - scope: `contractors:read` - tags: - - Contractors - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_uuid - in: path - required: true - description: The UUID of the company - schema: - type: string - - name: search_term - in: query - required: false - description: A string to search for in the object's names - schema: - type: string - - name: sort_by - in: query - required: false - schema: - type: string - pattern: "^(created_at|type|onboarding_status|name)(:(asc|desc))?(,(created_at|type|onboarding_status|name)(:(asc|desc))?)*$" - example: created_at:asc - description: 'Sort by one or more fields. Options: created_at, type, onboarding_status, name. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.' - - name: onboarded - in: query - required: false - description: Filters contractors by those who have completed onboarding - schema: - type: boolean - - name: onboarded_active - in: query - required: false - description: Filters contractors who are ready to work (onboarded AND active today) - schema: - type: boolean - - name: terminated - in: query - required: false - description: Filters contractors by those who have been or are scheduled to be dismissed - schema: - type: boolean - - name: terminated_today - in: query - required: false - description: Filters contractors by those who have been dismissed and whose dismissal is in effect today (excludes active and scheduled to be dismissed) - schema: - type: boolean - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - company_name - - portal_invitations - x-enumDescriptions: - company_name: Include the name of the company that the contractor is associated with - portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status - description: Include the requested attribute(s) in each contractor response. Multiple options are comma separated. - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Contractor" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - post: - summary: Create a contractor - operationId: post-v1-companies-company_uuid-contractors - security: - - CompanyAccessAuth: [] - description: |- - Create an individual or business contractor. - - scope: `contractors:manage` - tags: - - Contractors - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_uuid - in: path - required: true - description: The UUID of the company - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Create-Request-Body" - required: true - x-speakeasy-name-override: create - "/v1/contractors/{contractor_uuid}": - get: - summary: Get a contractor - operationId: get-v1-contractors-contractor_uuid - security: - - CompanyAccessAuth: [] - description: |- - Get a contractor. - - scope: `contractors:read` - tags: - - Contractors - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: contractor_uuid - in: path - description: The UUID of the contractor - required: true - schema: - type: string - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - company_name - - portal_invitations - x-enumDescriptions: - company_name: Include the name of the company that the contractor is associated with - portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status - description: Include the requested attribute(s) in each contractor response. Multiple options are comma separated. - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getById - put: - summary: Update a contractor - operationId: put-v1-contractors-contractor_uuid - security: - - CompanyAccessAuth: [] - description: "Update a contractor.\n\n> \U0001F6A7 Warning\n>\n> Watch out when changing a contractor's type (when the contractor is finished onboarding). Specifically, changing contractor type can be dangerous since Gusto won't recognize and file two separate 1099s if they simply change from business to individual\n\nscope: `contractors:write`" - tags: - - Contractors - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: contractor_uuid - in: path - description: The UUID of the contractor - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '409': - description: Conflict - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Update-Request-Body" - required: true - x-speakeasy-name-override: update - "/v1/webhook_subscriptions": - get: - summary: List webhook subscriptions - operationId: get-v1-webhook-subscriptions - security: - - SystemAccessAuth: [] - description: "Returns all webhook subscriptions associated with the provided Partner API token.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Webhook-Subscription" - x-speakeasy-name-override: listSubscriptions - post: - summary: Create a webhook subscription - operationId: post-v1-webhook-subscription - security: - - SystemAccessAuth: [] - description: "Create a webhook subscription to receive events of the specified subscription_types whenever there is a state change.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '201': - description: created - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhook-Subscription" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - url - - subscription_types - properties: - url: - type: string - description: The URL where webhook events will be POSTed. - subscription_types: - type: array - description: The types of events to subscribe to. - items: - type: string - enum: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PayrollSync - - PaySchedule - - PeopleBatch - - Signatory - required: true - x-speakeasy-name-override: create - "/v1/webhook_subscriptions/{webhook_subscription_uuid}": - get: - summary: Get a webhook subscription - operationId: get-v1-webhook-subscription-uuid - security: - - SystemAccessAuth: [] - description: "Returns the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: webhook_subscription_uuid - in: path - description: The webhook subscription UUID. - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhook-Subscription" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getSubscription - put: - summary: Update a webhook subscription - operationId: put-v1-webhook-subscription-uuid - security: - - SystemAccessAuth: [] - description: "Updates the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: webhook_subscription_uuid - in: path - description: The webhook subscription UUID. - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhook-Subscription" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - subscription_types - properties: - subscription_types: - type: array - description: The types of events to subscribe to. - items: - type: string - enum: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PayrollSync - - PaySchedule - - PeopleBatch - - Signatory - required: true - x-speakeasy-name-override: updateSubscription - delete: - summary: Delete a webhook subscription - operationId: delete-v1-webhook-subscription-uuid - security: - - SystemAccessAuth: [] - description: "Deletes the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: webhook_subscription_uuid - in: path - description: The webhook subscription UUID. - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: deleteSubscription - "/v1/webhook_subscriptions/{webhook_subscription_uuid}/verify": - put: - summary: Verify a webhook subscription - operationId: put-v1-verify-webhook-subscription-uuid - security: - - SystemAccessAuth: [] - description: "When a webhook subscription is created, a `verification_token` is POSTed to the registered webhook subscription URL. This `verify` endpoint needs to be called with `verification_token` before webhook events can be sent to the registered webhook URL.\n\nUse the /v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token API to resend the `verification_token` to the Subscriber.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: webhook_subscription_uuid - in: path - description: The webhook subscription UUID. - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhook-Subscription" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - verification_token - properties: - verification_token: - type: string - description: The verification token received at the webhook subscription URL. - required: true - x-speakeasy-name-override: verify - "/v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token": - get: - summary: Request a verification token for a webhook subscription - operationId: get-v1-webhook-subscription-verification-token-uuid - security: - - SystemAccessAuth: [] - description: "Request that the webhook subscription `verification_token` be POSTed to the Subscription URL.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: webhook_subscription_uuid - in: path - description: The webhook subscription UUID. - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: No Content. The `verification_token` is POSTed to the Subscription URL. - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhook-Verification-Token-Response" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: requestVerificationToken - "/v1/companies/{company_id}/payrolls": - get: - summary: Get all payrolls for a company - operationId: get-v1-companies-company_id-payrolls - security: - - CompanyAccessAuth: [] - description: |- - Returns a list of payrolls for a company. You can change the payrolls returned by updating the processing_status, payroll_types, start_date, & end_date params. - - By default, will return processed, regular payrolls for the past 6 months. - - Notes: - * Dollar amounts are returned as string representations of numeric decimals, are represented to the cent. - * end_date can be at most 3 months in the future and start_date and end_date can't be more than 1 year apart. - * Results are paginated. Maximum page size is 100 payrolls per request; the default page size is 25. - - scope: `payrolls:read` - tags: - - Payrolls - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: processing_statuses - in: query - required: false - explode: false - description: Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` - schema: - type: array - items: - type: string - enum: - - processed - - unprocessed - - name: payroll_types - in: query - required: false - explode: false - description: Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` - schema: - type: array - items: - type: string - enum: - - regular - - off_cycle - - external - - name: processed - in: query - required: false - description: Whether to return processed or unprocessed payrolls - schema: - type: boolean - - name: include_off_cycle - in: query - required: false - description: Whether to include off cycle payrolls in the response - schema: - type: boolean - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - taxes - - payroll_status_meta - - totals - - risk_blockers - - reversals - description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` - - name: start_date - in: query - required: false - example: '2020-01-31' - description: Return payrolls whose pay period is after the start date - schema: - type: string - - name: end_date - in: query - required: false - example: '2020-01-31' - description: Return payrolls whose pay period is before the end date. If left empty, defaults to today's date. - schema: - type: string - - name: date_filter_by - in: query - required: false - description: Specifies which date field to use when filtering payrolls with start_date and end_date. This field applies only to regular processed payrolls and defaults to pay period if not provided. - schema: - type: string - enum: - - check_date - example: check_date - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: sort_order - in: query - required: false - description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. - schema: - type: string - enum: - - asc - - desc - example: asc - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getForCompany - "/v1/companies/{company_id}/payrolls/{payroll_id}": - get: - summary: Get a single payroll - operationId: get-v1-companies-company_id-payrolls-payroll_id - security: - - CompanyAccessAuth: [] - description: |- - Returns a payroll. If payroll is calculated or processed, will return employee_compensations and totals. - - Results are paginated, with a maximum page size of 100 employee_compensations. - - Notes: - * Hour and dollar amounts are returned as string representations of numeric decimals. - * Hours are represented to the thousands place; dollar amounts are represented to the cent. - * Every eligible compensation is returned for each employee. If no data has yet be inserted for a given field, it defaults to "0.00" (for fixed amounts) or "0.000" (for hours ). - * When include parameter with benefits value is passed, employee_benefits:read scope is required to return benefits - * Benefits containing PHI are only visible with the `employee_benefits:read:phi` scope - - scope: `payrolls:read` - tags: - - Payrolls - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: payroll_id - in: path - description: The UUID of the payroll - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - benefits - - deductions - - taxes - - payroll_status_meta - - totals - - risk_blockers - - reversals - - payroll_taxes - description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: sort_by - in: query - required: false - schema: - type: string - pattern: "^(first_name|last_name)(:(asc|desc))?(,(first_name|last_name)(:(asc|desc))?)*$" - example: first_name:asc - description: 'Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.' - x-gusto-rswag: true - responses: - '200': - description: successful with wait_for_reverse_wire credit blocker - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Show" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - put: - summary: Update a payroll by ID - operationId: put-v1-companies-company_id-payrolls - security: - - CompanyAccessAuth: [] - description: |- - This endpoint allows you to update information for one or more employees for a specific **unprocessed** payroll. You can think of the **unprocessed** - payroll object as a template of fields that you can update. You cannot modify the structure of the payroll object through this endpoint, only values - of the fields included in the payroll. If you do not include specific employee compensations, fixed/hourly compensations, or deductions in your request body, they - will not be removed from the payroll. A maximum of 100 employee_compensations can be updated at a time. Only the employee compensation objects that were - inputted will be returned. - - scope: `payrolls:write` - tags: - - Payrolls - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: payroll_id - in: path - description: The UUID of the payroll - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Prepared" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Update" - required: true - x-speakeasy-name-override: update - "/v1/companies/{company_id}/payrolls/{payroll_id}/prepare": - put: - summary: Prepare a payroll for update - operationId: put-v1-companies-company_id-payrolls-payroll_id-prepare - security: - - CompanyAccessAuth: [] - description: |- - Prepares an unprocessed payroll for update, including: adding or removing eligible employees from the payroll, - and updating `check_date`, `payroll_deadline`, and `payroll_status_meta` dates and times. - - Use this endpoint before calling [PUT /v1/companies/{company_id}/payrolls/{payroll_id}](ref:put-v1-companies-company_id-payrolls). - - ### Notes - - * Nullifies `calculated_at` and `totals` if the payroll was previously calculated - * Returns the `version` parameter required for [updating the payroll](ref:put-v1-companies-company_id-payrolls) - * `employees:read` scope is required to include employee compensations data in the response. - * Results are paginated, with a maximum page size of 100 employee compensations. - - scope: `payrolls:write employees:read` - tags: - - Payrolls - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: payroll_id - in: path - description: The UUID of the payroll - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: sort_by - in: query - required: false - schema: - type: string - pattern: "^(first_name|last_name)(:(asc|desc))?(,(first_name|last_name)(:(asc|desc))?)*$" - example: first_name:asc - description: 'Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.' - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Prepared" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - properties: - employee_uuids: - type: - - array - - 'null' - description: An array of employee UUIDs. If passed, only those employees payroll items will be prepared. - items: - type: string - x-speakeasy-name-override: prepare - "/v1/payrolls/{payroll_id}/employees/{employee_id}/calculate_accruing_time_off_hours": - post: - summary: Calculate accruing time off hours - operationId: post-v1-payrolls-payroll_id-calculate_accruing_time_off_hours - security: - - CompanyAccessAuth: [] - description: |- - 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. - - scope: `payrolls:read` - tags: - - Time Off Policies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: payroll_id - in: path - description: The UUID of the payroll - required: true - schema: - type: string - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Calculate-Accruing-Time-Off-Hours-Response" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Calculate-Accruing-Time-Off-Hours-Request" - x-speakeasy-name-override: calculateAccruingTimeOffHours - x-speakeasy-group: timeOffPolicies - "/v1/companies/{company_id}/contractor_payments": - get: - summary: Get contractor payments for a company - operationId: get-v1-companies-company_id-contractor_payments - security: - - CompanyAccessAuth: [] - description: |- - Returns an object containing individual contractor payments, within a given time period, including totals. - - Results are returned in reverse chronological order (newest first). - - scope: `payrolls:read` - tags: - - Contractor Payments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: The UUID of the company - schema: - type: string - - name: start_date - in: query - required: true - description: The time period for which to retrieve contractor payments - example: '2020-01-01' - schema: - type: string - - name: end_date - in: query - required: true - description: The time period for which to retrieve contractor payments. If left empty, defaults to today's date. - example: '2020-12-31' - schema: - type: string - - name: contractor_uuid - in: query - required: false - description: The UUID of the contractor. When specified, will load all payments for that contractor. - schema: - type: string - - name: group_by_date - in: query - required: false - description: Display contractor payments results group by check date if set to true. - schema: - type: boolean - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: A JSON object containing contractor payments information - content: - application/json: - schema: - anyOf: - - "$ref": "#/components/schemas/Contractor-Payment-Summary" - - "$ref": "#/components/schemas/Contractor-Payment-Summary-By-Dates" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided ID/UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: contractorPayments - x-speakeasy-name-override: get - "/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}": - get: - summary: Get a single contractor payment - operationId: get-v1-companies-company_id-contractor_payment-contractor-payment - security: - - CompanyAccessAuth: [] - description: |- - Returns a single contractor payment. - - scope: `payrolls:read` - tags: - - Contractor Payments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: The UUID of the company - schema: - type: string - - name: contractor_payment_id - in: path - required: true - description: The UUID of the contractor payment - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided ID/UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: contractorPayments - x-speakeasy-name-override: getById - "/v1/payrolls/{payroll_uuid}/reports/general_ledger": - post: - summary: Create a general ledger report - operationId: post-payrolls-payroll_uuid-reports-general_ledger - security: - - CompanyAccessAuth: [] - description: |- - Create a general ledger report for a payroll. The report can be aggregated by different dimensions such as job or department. - - Use the `request_uuid` in the response with the [report GET endpoint](../reference/get-reports-request_uuid) to poll for the status and report URL upon completion. The retrieved report will be generated in a JSON format. - - scope: `company_reports:write` - tags: - - Reports - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: payroll_uuid - in: path - required: true - description: The UUID of the payroll - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: OK - content: - application/json: - schema: - "$ref": "#/components/schemas/General-Ledger-Report" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/General-Ledger-Report-Body" - required: true - "/v1/reports/{request_uuid}": - get: - summary: Get a report - operationId: get-reports-request_uuid - security: - - CompanyAccessAuth: [] - description: |- - Get a company's report given the `request_uuid`. The response will include the report request's status and, if complete, the report URL. - - Reports containing PHI are inaccessible with `company_reports:read:tier_2_only` data scope - - scope: `company_reports:read` - tags: - - Reports - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: request_uuid - in: path - required: true - description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: OK - content: - application/json: - schema: - "$ref": "#/components/schemas/Report" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - "/v1/companies/{company_id}/company_benefits": - get: - summary: Get benefits for a company - operationId: get-v1-companies-company_id-company_benefits - security: - - CompanyAccessAuth: [] - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. - - scope: `company_benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - - name: active - in: query - required: false - description: Whether the benefit is currently active - schema: - type: boolean - - name: enrollment_count - in: query - required: false - description: Whether to return employee enrollment count - schema: - type: boolean - - name: benefit_type - in: query - required: false - description: Filter by benefit type. Comma-separated list of benefit type IDs, i.e. `?benefit_type=5,105` - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Company-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: list - x-speakeasy-group: companyBenefits - post: - summary: Create a company benefit - operationId: post-v1-companies-company_id-company_benefits - security: - - CompanyAccessAuth: [] - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only create company benefits for benefit types that are permitted for the application. - - scope: `company_benefits:write` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Created - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit-Create-Request" - required: true - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: create - "/v1/company_benefits/{company_benefit_id}": - get: - summary: Get a company benefit - operationId: get-v1-company_benefits-company_benefit_id - security: - - CompanyAccessAuth: [] - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - When with_employee_benefits parameter with true value is passed, employee_benefits:read scope is required to return employee_benefits. - - scope: `company_benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - - name: with_employee_benefits - in: query - required: false - description: Whether to return employee benefits associated with the benefit - schema: - type: boolean - - name: include - in: query - required: false - schema: - type: string - enum: - - all_benefits - description: |- - Available options: - - all_benefits: If with_employee_benefits=true, include all effective dated benefits for each employee instead of only the current benefits. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit-With-Employee-Benefits" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getById - put: - summary: Update a company benefit - operationId: put-v1-company_benefits-company_benefit_id - security: - - CompanyAccessAuth: [] - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only update company benefits for benefit types that are permitted for the application. - - scope: `company_benefits:write` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit-Update-Request" - required: true - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: update - delete: - summary: Delete a company benefit - operationId: delete-v1-company_benefits-company_benefit_id - security: - - CompanyAccessAuth: [] - description: |- - The following must be true in order to delete a company benefit - - - There are no employee benefits associated with the company benefit - - There are no payroll items associated with the company benefit - - The benefit is not managed by a Partner or by Gusto (type must be 'External') - - When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only delete company benefits for benefit types that are permitted for the application. - - scope: `company_benefits:write` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: delete - "/v1/benefits": - get: - summary: Get all supported benefits - operationId: get-v1-benefits - security: - - CompanyAccessAuth: [] - description: |- - Returns all benefits supported by Gusto. The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. - - scope: `benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Supported-Benefit" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: listSupported - "/v1/benefits/{benefit_id}": - get: - summary: Get a supported benefit - operationId: get-v1-benefits-benefit_id - security: - - CompanyAccessAuth: [] - description: |- - Returns a benefit supported by Gusto. The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. - - scope: `benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: benefit_id - in: path - description: The benefit type in Gusto. - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Supported-Benefit" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: get - "/v1/company_benefits/{company_benefit_id}/summary": - get: - summary: Get company benefit summary by company benefit id. - operationId: get-v1-benefits-company_benefit_id-summary - security: - - CompanyAccessAuth: [] - description: |- - Returns summary benefit data for the requested company benefit id. - - Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. - - scope: `company_benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - - name: start_date - in: query - required: false - description: The start date for which to retrieve company benefit summary - example: '2022-01-01' - schema: - type: string - - name: end_date - in: query - required: false - description: The end date for which to retrieve company benefit summary. If left empty, defaults to today's date. - example: '2022-12-31' - schema: - type: string - - name: detailed - in: query - required: false - description: Display employee payroll item summary - schema: - type: boolean - x-gusto-rswag: true - responses: - '200': - description: Benefit summary response - content: - application/json: - schema: - "$ref": "#/components/schemas/Benefit-Summary" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getSummary - "/v1/company_benefits/{company_benefit_id}/employee_benefits": - get: - summary: Get all employee benefits for a company benefit - operationId: get-v1-company_benefits-company_benefit_id-employee_benefits - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. - - Returns an array of all employee benefits enrolled for this company benefit. - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: include - in: query - required: false - schema: - type: string - enum: - - all_benefits - description: |- - Available options: - - all_benefits: Include all effective dated benefits for each employee instead of only the current benefits. - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getEmployeeBenefits - put: - summary: Bulk update employee benefits for a company benefit - operationId: put-v1-company_benefits-company_benefit_id-employee_benefits - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. - - Create or update(if the employee is already enrolled in the company benefit previously) an employee benefit for the company benefit. - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only create or update employee benefits for benefit types that are permitted for the application. - - scope: `employee_benefits:write` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit-Bulk-Update-Request" - required: true - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: bulkUpdateEmployeeBenefits - "/v1/company_benefits/{company_benefit_id}/contribution_exclusions": - get: - summary: Get contribution exclusions for a company benefit - operationId: get-v1-company_benefits-company_benefit_id-contribution_exclusions - security: - - CompanyAccessAuth: [] - description: |- - Returns all contributions for a given company benefit and whether they are excluded or not. - - Currently this endpoint only works for 401-k and Roth 401-k benefit types. - - scope: `company_benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Contribution-Exclusion" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - put: - summary: Update contribution exclusions for a company benefit - operationId: put-v1-company_benefits-company_benefit_id-contribution_exclusions - security: - - CompanyAccessAuth: [] - description: |- - Updates contribution exclusions for a given company benefit. - - Currently this endpoint only works for 401-k and Roth 401-k benefit types. - - scope: `company_benefits:write` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_benefit_id - in: path - description: The UUID of the company benefit - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Contribution-Exclusion" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Contribution-Exclusion-Update-Request" - required: true - "/v1/benefits/{benefit_id}/requirements": - get: - summary: Get benefit fields requirements by benefit type - operationId: get-v1-benefits-benefits_id-requirements - security: - - CompanyAccessAuth: [] - description: |- - Returns the field requirements for a given benefit type. - - scope: `benefits:read` - tags: - - Company Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: benefit_id - in: path - description: The benefit type in Gusto. - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Benefit-Type-Requirements" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getRequirements - "/v1/employees/{employee_id}/employee_benefits": - get: - summary: Get all benefits for an employee - operationId: get-v1-employees-employee_id-employee_benefits - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - Returns an array of all employee benefits for this employee - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:read` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - - name: include - in: query - required: false - schema: - type: string - enum: - - all_benefits - description: |- - Available options: - - all_benefits: Include all effective dated benefits for each employee instead of only the current benefits. - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: getAll - post: - summary: Create an employee benefit - operationId: post-v1-employees-employee_id-employee_benefits - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. - - When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only create employee benefits for benefit types that are permitted for the application. - - scope: `employee_benefits:write` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit-Create-Request" - required: true - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: create - "/v1/employee_benefits/{employee_benefit_id}": - get: - summary: Get an employee benefit - operationId: get-v1-employee_benefits-employee_benefit_id - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:read` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_benefit_id - in: path - description: The UUID of the employee benefit. - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: get - put: - summary: Update an employee benefit - operationId: put-v1-employee_benefits-employee_benefit_id - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. - - When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only update employee benefits for benefit types that are permitted for the application. - - scope: `employee_benefits:write` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_benefit_id - in: path - description: The UUID of the employee benefit. - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit-Update-Request" - required: true - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: update - delete: - summary: Delete an employee benefit - operationId: delete-v1-employee_benefits-employee_benefit_id - security: - - CompanyAccessAuth: [] - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. - - When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only delete employee benefits for benefit types that are permitted for the application. - - scope: `employee_benefits:write` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_benefit_id - in: path - description: The UUID of the employee benefit. - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: delete - "/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company": - get: - summary: Get year-to-date benefit amounts from a different company - operationId: get-employee-ytd-benefit-amounts-from-different-company - security: - - CompanyAccessAuth: [] - description: |- - Retrieves year-to-date benefit amounts that were contributed at a different company for the specified employee. - Returns benefit amounts for the requested tax year (defaults to current year if not specified). - - This endpoint only supports retrieving outside contributions for 401(k) benefits. - - scope: `employee_benefits:read` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - required: true - description: The UUID of the employee - schema: - type: string - - name: tax_year - in: query - required: false - schema: - type: integer - minimum: 2000 - maximum: 2999 - example: 2024 - description: The tax year for which to retrieve YTD benefit amounts. Defaults to current year if not specified. - x-gusto-rswag: true - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: getYtdBenefitAmountsFromDifferentCompany - post: - summary: Create year-to-date benefit amounts from a different company - operationId: post-employee-ytd-benefit-amounts-from-different-company - security: - - CompanyAccessAuth: [] - description: |- - Year-to-date benefit amounts from a different company represents the amount of money added to an employee's plan during a current year, made outside of the current contribution when they were employed at a different company. - - This endpoint only supports passing outside contributions for 401(k) benefits. - - scope: `employee_benefits:write` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - required: true - description: The UUID of the employee - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company-Body" - required: true - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: createYtdBenefitAmountsFromDifferentCompany - "/v1/employees/{employee_id}/garnishments": - get: - summary: Get garnishments for an employee - operationId: get-v1-employees-employee_id-garnishments - security: - - CompanyAccessAuth: [] - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:read` - tags: - - Garnishments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Garnishment" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: get - post: - summary: Create a garnishment - operationId: post-v1-employees-employee_id-garnishments - security: - - CompanyAccessAuth: [] - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:write` - tags: - - Garnishments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Garnishment" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Garnishment-Request" - required: true - x-speakeasy-name-override: create - "/v1/garnishments/{garnishment_id}": - get: - summary: Get a garnishment - operationId: get-v1-garnishments-garnishment_id - security: - - CompanyAccessAuth: [] - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:read` - tags: - - Garnishments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: garnishment_id - in: path - description: The UUID of the garnishment - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Garnishment" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - x-speakeasy-name-override: getById - put: - summary: Update a garnishment - operationId: put-v1-garnishments-garnishment_id - security: - - CompanyAccessAuth: [] - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:write` - tags: - - Garnishments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: garnishment_id - in: path - description: The UUID of the garnishment - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Garnishment" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Update-Garnishment-Request" - required: true - x-speakeasy-name-override: update - "/v1/garnishments/child_support": - get: - summary: Get child support garnishment data - operationId: get-v1-garnishments-child_support - security: - - CompanyAccessAuth: [] - description: |- - Agency data and requirements to be used for creating child support garnishments - - scope: `garnishments:read` - tags: - - Garnishments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Child-Support-Data" - x-speakeasy-name-override: getChildSupport - "/v1/time_off_policies/{time_off_policy_uuid}": - get: - summary: Get a time off policy - operationId: get-v1-time_off_policies-time_off_policy_uuid - security: - - CompanyAccessAuth: [] - description: |- - Get a time off policy - - scope: `time_off_policies:read` - tags: - - Time Off Policies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: time_off_policy_uuid - in: path - description: The UUID of the time off policy - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Off-Policy" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - "/v1/companies/{company_uuid}/time_off_policies": - get: - summary: Get all time off policies for a company - operationId: get-v1-companies-company_uuid-time_off_policies - security: - - CompanyAccessAuth: [] - description: |- - Get all time off policies for a company - - scope: `time_off_policies:read` - tags: - - Time Off Policies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_uuid - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Time-Off-Policy" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - "/v1/time_off_policies/{time_off_policy_uuid}/add_employees": - put: - summary: Add employees to a time off policy - operationId: put-v1-time_off_policies-time_off_policy_uuid-add_employees - security: - - CompanyAccessAuth: [] - description: |- - 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` - tags: - - Time Off Policies - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: time_off_policy_uuid - in: path - description: The UUID of the time off policy - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Off-Policy" - '422': - description: Add employees with no employees - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - employees - properties: - employees: - type: array - items: - type: object - required: - - uuid - properties: - uuid: - type: string - description: The UUID of the employee - balance: - type: - - string - - 'null' - description: The starting balance for the employee - required: true - "/v1/events": - get: - summary: Get all events - operationId: get-events - security: - - SystemAccessAuth: [] - description: "Fetch all events, going back up to 30 days, that your partner application has the required scopes for. Note that a partner does NOT have to have verified webhook subscriptions in order to utilize this endpoint.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `events:read`" - tags: - - Events - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: starting_after_uuid - in: query - required: false - description: A cursor for pagination. Returns all events occuring after the specified UUID (exclusive). Events are sorted according to the provided sort_order param. - schema: - type: string - - name: resource_uuid - in: query - required: false - description: The UUID of the company. If not specified, will return all events for all companies. - schema: - type: string - - name: limit - in: query - required: false - description: Limits the number of objects returned in a single response, between 1 and 100. The default is 25 - schema: - type: string - - name: event_type - in: query - required: false - description: A string containing the exact event name (e.g. `employee.created`), or use a wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`, `notification.*.created` etc.) - schema: - type: string - - name: sort_order - in: query - required: false - schema: - type: string - enum: - - asc - - desc - description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. - x-gusto-rswag: true - responses: - '200': - description: Successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Event-List" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: getAll - "/v1/companies/{company_uuid}/time_tracking/time_sheets": - get: - summary: Get all time sheets for a company - operationId: get-companies-company_uuid-time_tracking-time_sheets - security: - - CompanyAccessAuth: [] - description: |- - Fetch all company's time sheets. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:read` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_uuid - in: path - required: true - description: The UUID of the company - schema: - type: string - - name: entity_uuids - in: query - required: false - schema: - type: array - items: - type: string - description: Entity UUIDs that reported time sheets - - name: entity_type - in: query - required: false - schema: - type: string - enum: - - Employee - - Contractor - description: 'Type of entities to filter. One of: "Employee", "Contractor"' - - name: status - in: query - required: false - schema: - type: string - enum: - - approved - - pending - - rejected - description: 'Status of time sheets. One of: "approved", "pending", "rejected"' - - name: sort_by - in: query - required: false - schema: - type: string - enum: - - created_at - - updated_at - - shift_started_at - - shift_ended_at - description: 'Field to sort by. One of: "created_at", "updated_at", "shift_started_at", "shift_ended_at"' - - name: sort_order - in: query - required: false - schema: - type: string - enum: - - asc - - desc - description: 'Sorting order. One of: "asc", "desc"' - - name: before - in: query - required: false - schema: - type: string - description: time sheets that were created before ISO 8601 timestamp. Filtering by "created_at" - - name: after - in: query - required: false - schema: - type: string - description: time sheets that were created after ISO 8601 timestamp. Filtering by "created_at" - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Time-Sheet" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - post: - summary: Create a time sheet - operationId: post-companies-company_uuid-time_tracking-time_sheets - security: - - CompanyAccessAuth: [] - description: |- - Create a time sheet for a company. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:write` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_uuid - in: path - required: true - description: The UUID of the company - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: Created - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Sheet" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Sheet-Create-Body" - required: true - "/v1/time_tracking/time_sheets/{time_sheet_uuid}": - get: - summary: Get a time sheet - operationId: get-time_tracking-time_sheets-time_sheet_uuid - security: - - CompanyAccessAuth: [] - description: |- - Fetch a time sheet. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:read` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: time_sheet_uuid - in: path - required: true - description: UUID of the time sheet - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: OK - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Sheet" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - put: - summary: Update a time sheet - operationId: put-time_tracking-time_sheets-time_sheet_uuid - security: - - CompanyAccessAuth: [] - description: |- - Update a time sheet. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:write` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: time_sheet_uuid - in: path - required: true - description: UUID of the time sheet - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: OK - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Sheet" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Sheet-Update-Body" - required: true - delete: - summary: Delete a time sheet - operationId: delete-time_tracking-time_sheets-time_sheet_uuid - security: - - CompanyAccessAuth: [] - description: |- - Delete a company's time sheet. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:write` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: time_sheet_uuid - in: path - required: true - description: UUID of the time sheet - schema: - type: string - - name: version - in: query - required: true - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: No Content - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - "/v1/companies/{company_uuid}/notifications": - get: - summary: Get notifications for company - operationId: get-company-notifications - security: - - CompanyAccessAuth: [] - description: |- - Returns all notifications relevant for the given company. - - scope: `notifications:read` - tags: - - Notifications - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_uuid - in: path - description: The UUID of the company for which you would like to return notifications - required: true - schema: - type: string - - name: status - in: query - schema: - type: string - enum: - - open - - expired - - resolved - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Notifications-List" - "/v1/companies/{company_id}/contractors/payment_details": - get: - summary: List contractor payment details - operationId: get-v1-companies-company_id-contractors-payment_details - security: - - CompanyAccessAuth: [] - description: |- - Get payment details for contractors in a company. This endpoint returns a list of all contractors - associated with the specified company, including their payment methods and bank account details - if they are paid via direct deposit. - - For contractors paid by direct deposit, the response includes their bank account information - with sensitive data masked for security. The payment details also include information about - how their payments are split if they have multiple bank accounts configured. - - For contractors paid by check, only the basic payment method information is returned. - - ### Response Details - - For direct deposit contractors: - - Bank account details (masked) - - Payment splits configuration - - Routing numbers - - Account types - - For check payments: - - Basic payment method designation - - ### Common Use Cases - - Fetching contractor payment information for payroll processing - - Verifying contractor payment methods - - Reviewing payment split configurations - - `encrypted_account_number` is available only with the additional scope `contractor_payment_methods:read:account_numbers`. - - scope: `contractor_payment_methods:read` - tags: - - Contractors - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: company_id - in: path - description: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. - required: true - schema: - type: string - - name: contractor_uuid - in: query - required: false - description: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. - schema: - type: string - - name: contractor_payment_group_uuid - in: query - required: false - description: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment-Details-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - "/v1/companies/{company_id}/time_off_requests": - get: - summary: Get time off requests for a company - operationId: get-v1-companies-company_id-time_off_requests - security: - - CompanyAccessAuth: [] - description: |- - Get all time off requests, past and present, for a company. - - In order to reduce the number of time off requests returned in a single response, or to retrieve time off requests from a time period of interest, you may use the `start_date` and `end_date` parameters. - - You may provide both or either parameters to scope the returned data. For example: - - `?start_date=2019-01-01` - - Returns all time off requests where the request start date is equal to or after January 1, 2019. - - `?end_date=2019-01-01` - - Returns all time off requests where the request end date is equal to or before January 1, 2019. - - `?start_date=2019-05-01&end_date=2019-08-31` - - Returns all time off requests where the request start date is equal to or after May 1, 2019 and the request end date is equal to or before August 31, 2019. - - `scope: time_off_requests:read` - - scope: `time_off_requests:read` - tags: - - Time Off Requests - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The company UUID - required: true - schema: - type: string - - name: start_date - in: query - required: false - description: Filter time off requests starting on or after this date - schema: - type: string - - name: end_date - in: query - required: false - description: Filter time off requests ending on or before this date - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Off-Request-List" - "/v1/webhooks/health_check": - get: - summary: Get the webhooks health status - operationId: get-v1-webhooks-health_check - security: - - SystemAccessAuth: [] - description: "Returns the health status (`healthy`, `unhealthy`, or `unknown`) of the webhooks system based on the last ten minutes of activity.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" - tags: - - Webhooks - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhooks-Health-Check-Status" - "/v1/employees/{employee_id}/salary_estimates": - post: - summary: Create a salary estimate for an employee - operationId: post-v1-employees-employee_id-salary_estimates - security: - - CompanyAccessAuth: [] - description: |- - Create a salary estimate for an employee. This endpoint helps calculate a reasonable salary for S Corp owners based on their occupation, experience level, location, and business revenue. - - A salary estimate must include: - - Annual net revenue of the business - - ZIP code for location-based salary data - - One or more occupations with experience levels and time percentages (must sum to 100%) - - Only one in-progress salary estimate can exist per employee at a time. If an in-progress estimate already exists, you must either accept it or use the update endpoint. - - scope: `salary_estimates:write` - tags: - - Salary Estimates - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - required: true - description: The UUID of the employee - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: successfully created - content: - application/json: - schema: - "$ref": "#/components/schemas/Salary-Estimate" - '422': - description: unprocessable entity - invalid parameters - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - zip_code - - occupations - properties: - annual_net_revenue: - type: - - number - - 'null' - description: The annual net revenue of the business (must be greater than 0) - example: 500000 - zip_code: - type: string - description: The ZIP code for location-based salary calculations - pattern: "^\\d{5}$" - example: '94107' - occupations: - type: array - description: Array of occupations. Time percentages must sum to 100%. - minItems: 1 - items: - type: object - required: - - code - - experience_level - - time_percentage - properties: - code: - type: string - description: Bureau of Labor Statistics (BLS) occupation code - example: '151252' - experience_level: - type: string - description: Experience level for this occupation - enum: - - novice - - intermediate - - average - - skilled - - expert - example: skilled - time_percentage: - type: string - format: float - description: Percentage of time spent in this occupation (as decimal, e.g., 1.0 = 100%) - minimum: 0 - maximum: 1 - example: '1.0' - primary: - type: boolean - description: Whether this is the primary occupation - example: true - required: true - "/v1/salary_estimates/{uuid}": - get: - summary: Get a salary estimate - operationId: get-v1-salary_estimates-id - security: - - CompanyAccessAuth: [] - description: |- - Retrieve a salary estimate by its UUID. Returns the estimated salary calculation along with all occupation details, revenue, and location information. - - scope: `salary_estimates:read` - tags: - - Salary Estimates - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: uuid - in: path - required: true - description: The UUID of the salary estimate - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Salary-Estimate" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - put: - summary: Update a salary estimate - operationId: put-v1-salary_estimates-id - security: - - CompanyAccessAuth: [] - description: |- - Update an existing salary estimate. You can modify the annual net revenue, ZIP code, and occupations. - - The salary estimate must not be finalized (accepted). Once accepted, salary estimates become read-only for record-keeping purposes. - - scope: `salary_estimates:write` - tags: - - Salary Estimates - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: uuid - in: path - required: true - description: The UUID of the salary estimate - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Salary-Estimate" - '422': - description: unprocessable entity - already finalized - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - zip_code - - occupations - properties: - annual_net_revenue: - type: - - number - - 'null' - description: The annual net revenue of the business (must be greater than 0) - example: 600000 - zip_code: - type: string - description: The ZIP code for location-based salary calculations - pattern: "^\\d{5}$" - example: '94107' - occupations: - type: array - description: Array of occupations. Time percentages must sum to 100%. - minItems: 1 - items: - type: object - required: - - code - - experience_level - - time_percentage - properties: - code: - type: string - description: Bureau of Labor Statistics (BLS) occupation code - example: '151252' - experience_level: - type: string - description: Experience level for this occupation - enum: - - novice - - intermediate - - average - - skilled - - expert - example: expert - time_percentage: - type: string - format: float - description: Percentage of time spent in this occupation (as decimal, e.g., 0.5 = 50%) - minimum: 0 - maximum: 1 - example: '0.6' - primary: - type: boolean - description: Whether this is the primary occupation - example: true - required: true - "/v1/salary_estimates/{uuid}/accept": - post: - summary: Accept a salary estimate - operationId: post-v1-salary_estimates-uuid-accept - security: - - CompanyAccessAuth: [] - description: |- - Accept and finalize a salary estimate. This associates the estimate with an employee job and marks it as accepted. - - Once accepted, the salary estimate becomes read-only for record-keeping purposes. The accepted salary can then be used to set up compensation for the employee. - - scope: `salary_estimates:write` - tags: - - Salary Estimates - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: uuid - in: path - required: true - description: The UUID of the salary estimate - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Salary-Estimate" - '422': - description: unprocessable entity - invalid employee job - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - employee_job_uuid - properties: - employee_job_uuid: - type: string - description: The UUID of the employee job to associate with this salary estimate - example: 7f5d3d93-6d6f-48c0-9f4e-cd12c2d3e4b2 - required: true - "/v1/salary_estimates/occupations": - get: - summary: Search for BLS occupations - operationId: get-v1-salary_estimates-occupations - security: - - SystemAccessAuth: [] - description: "Search for Bureau of Labor Statistics (BLS) occupations by name or keyword. This endpoint helps users find the appropriate occupation codes to use when creating or updating salary estimates.\n\nReturns a list of matching occupations with their codes, titles, and descriptions.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `salary_estimates:read`" - tags: - - Salary Estimates - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: search - in: query - required: true - description: Search term for occupation (minimum 3 characters) - example: software - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/BLS-Occupation" - '422': - description: unprocessable entity - search term too short - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - "/v1/employees/{employee_id}/recurring_reimbursements": - get: - summary: Get recurring reimbursements for an employee - operationId: get-v1-employees-employee_id-recurring_reimbursements - security: - - CompanyAccessAuth: [] - description: |- - Get all active recurring reimbursements for an employee. - - scope: `reimbursements:read` - tags: - - Reimbursements - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Recurring-Reimbursement-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - post: - summary: Create a recurring reimbursement - operationId: post-v1-employees-employee_id-recurring_reimbursements - security: - - CompanyAccessAuth: [] - description: |- - Create a recurring reimbursement for an employee. - - scope: `reimbursements:write` - tags: - - Reimbursements - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '201': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Recurring-Reimbursement" - '422': - description: invalid attributes - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - description - - amount - properties: - description: - type: string - description: The description of the reimbursement - amount: - type: number - description: The dollar amount of the reimbursement - required: true - "/v1/recurring_reimbursements/{id}": - get: - summary: Get a recurring reimbursement - operationId: get-v1-recurring_reimbursements - security: - - CompanyAccessAuth: [] - description: |- - Get a specific recurring reimbursement. - - scope: `reimbursements:read` - tags: - - Reimbursements - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: id - in: path - description: The UUID of the reimbursement - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Recurring-Reimbursement" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - put: - summary: Update a recurring reimbursement - operationId: put-v1-recurring_reimbursements - security: - - CompanyAccessAuth: [] - description: |- - Update a recurring reimbursement. - - scope: `reimbursements:write` - tags: - - Reimbursements - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: id - in: path - description: The UUID of the reimbursement - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Recurring-Reimbursement" - '409': - description: invalid version - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: invalid attributes - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - description: - type: string - description: The description of the reimbursement - amount: - type: number - description: The dollar amount of the reimbursement - required: true - delete: - summary: Delete a recurring reimbursement - operationId: delete-v1-recurring_reimbursements - security: - - CompanyAccessAuth: [] - description: |- - Delete (soft delete) a recurring reimbursement for an employee. - - scope: `reimbursements:write` - tags: - - Reimbursements - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: id - in: path - description: The UUID of the reimbursement - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '204': - description: successful - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - "/v1/employees/{employee_uuid}/section603_high_earner_statuses": - get: - summary: Get all Section 603 high earner statuses for an employee - operationId: get-v1-employees-employee_uuid-section603_high_earner_statuses - security: - - CompanyAccessAuth: [] - description: |- - Get all Section 603 high earner statuses for an employee across all years. - - Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. - These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. - - scope: `employee_benefits:read` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_uuid - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - with records - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-List" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - post: - summary: Create a Section 603 high earner status - operationId: post-v1-employees-employee_uuid-section603_high_earner_statuses - security: - - CompanyAccessAuth: [] - description: |- - Create a Section 603 high earner status for an employee for a specific year. - - Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. - These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. - - scope: `employee_benefits:write` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_uuid - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '201': - description: created - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '409': - description: conflict - record already exists - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '422': - description: unprocessable entity - invalid is_high_earner - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-Create-Request" - required: true - "/v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year}": - get: - summary: Get a Section 603 high earner status for a specific year - operationId: get-v1-employees-employee_uuid-section603_high_earner_statuses-effective_year - security: - - CompanyAccessAuth: [] - description: |- - Get a Section 603 high earner status for an employee for a specific year. - - Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. - These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. - - scope: `employee_benefits:read` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_uuid - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: effective_year - in: path - description: The effective year for the Section 603 status - required: true - schema: - type: integer - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" - '404': - description: Not Found - employee does not exist - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: unprocessable entity - invalid effective_year - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - patch: - summary: Update a Section 603 high earner status - operationId: patch-v1-employees-employee_uuid-section603_high_earner_statuses-effective_year - security: - - CompanyAccessAuth: [] - description: |- - Update a Section 603 high earner status for an employee for a specific year. - - Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. - These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. - - scope: `employee_benefits:write` - tags: - - Employee Benefits - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: employee_uuid - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: effective_year - in: path - description: The effective year for the Section 603 status - required: true - schema: - type: integer - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - x-gusto-rswag: true - responses: - '200': - description: successful - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" - '404': - description: Not Found - employee does not exist - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: unprocessable entity - invalid is_high_earner - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-Update-Request" - required: true - "/v1/companies/{company_id}/reports/employees_annual_fica_wage": - post: - summary: Create an employees annual FICA wage report - operationId: post-v1-companies-company_id-reports-employees_annual_fica_wage - security: - - CompanyAccessAuth: [] - description: |- - Generates a report containing annual FICA (Federal Insurance Contributions Act) wage data for all employees in a company over a specified year range. - - This report provides detailed wage information subject to Social Security and Medicare taxes, useful for benefits integrations that need to verify employee earnings for compliance and benefit calculations. - - The report is generated asynchronously. After making this request, you will receive a `request_uuid` which can be used to poll the [Get a report](ref:get-v1-reports-request_uuid) endpoint to check the status and retrieve the report when complete. - - scope: `company_reports:write` - tags: - - Reports - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: The UUID of the company - schema: - type: string - x-gusto-rswag: true - responses: - '202': - description: accepted - content: - application/json: - schema: - "$ref": "#/components/schemas/Employees-Annual-Fica-Wage-Report-Acceptance" - '422': - description: unprocessable entity - start year before minimum - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: Not Found - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - start_year - - end_year - properties: - start_year: - type: integer - description: The start year for the report (must be 2011 or later) - example: 2023 - end_year: - type: integer - description: The end year for the report (must be the current year or earlier, and must be >= start_year) - example: 2024 - required: true - "/v1/companies/{company_id}/time_tracking/payroll_syncs": - post: - summary: Create a payroll sync - operationId: post-companies-company_uuid-time_tracking-payroll_syncs - security: - - CompanyAccessAuth: [] - description: |- - Initiate a payroll sync for a company. - - A payroll sync takes approved time sheet data and syncs it to the company's payroll. - - ### Asynchronous processing - This endpoint triggers an asynchronous operation — the response will return immediately with a status of `pending` while the sync processes in the background. - - **To track completion:** - - Subscribe (via [POST /v1/webhook_subscriptions](ref:post-v1-webhook-subscription)) to `PayrollSync` webhook events - - scope: `payroll_syncs:write` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - description: The UUID of the company - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '202': - description: Accepted - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Sync" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" - '422': - description: | - Unprocessable Entity - - This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Sync-Create-Request-Body" - "/v1/time_tracking/payroll_syncs/{payroll_sync_uuid}": - get: - summary: Get a payroll sync - operationId: get-time_tracking-payroll_syncs-payroll_sync_uuid - security: - - CompanyAccessAuth: [] - description: |- - Fetch a payroll sync. - - A payroll sync represents the result of syncing approved time sheet data to payroll. Use this endpoint to check the status of a previously initiated sync. - - scope: `payroll_syncs:read` - tags: - - Time Tracking - x-gusto-integration-type: - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: payroll_sync_uuid - in: path - description: The UUID of the payroll sync - example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - required: true - schema: - type: string - x-gusto-rswag: true - responses: - '200': - description: Success - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Sync" - '404': - description: | - Not Found - - The requested resource does not exist. Make sure the provided UUID is valid. - content: - application/json: - schema: - "$ref": "#/components/schemas/Not-Found-Error-Object" -components: - parameters: - search_term: - name: search_term - in: query - schema: - type: string - description: A string to search for in the object's names - pageParam: - schema: - type: integer - in: query - name: page - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - perParam: - schema: - type: integer - in: query - name: per - description: Number of objects per page. For majority of endpoints will default to 25 - start_date: - in: query - name: start_date - schema: - type: string - example: '2020-01-01' - end_date: - in: query - name: end_date - description: If left empty, defaults to today's date. - schema: - type: string - example: '2020-01-31' - bank_account_uuid: - name: bank_account_uuid - in: path - required: true - schema: - type: string - description: The UUID of the bank account - benefit_id: - schema: - type: string - name: benefit_id - in: path - required: true - description: The benefit type in Gusto. - compensation_id: - schema: - type: string - name: compensation_id - in: path - required: true - description: The UUID of the compensation - company_attachment_uuid: - schema: - type: string - name: company_attachment_uuid - in: path - required: true - description: The UUID of the company attachment - company_benefit_id: - schema: - type: string - name: company_benefit_id - in: path - required: true - description: The UUID of the company benefit - company_forms_sort_by: - name: sort_by - in: query - required: false - description: 'Sort company forms. Options: name, year, quarter, draft, document_content_type, created_at (optionally with :asc or :desc suffix)' - schema: - type: string - pattern: "^(name|year|quarter|draft|document_content_type|created_at)(:(asc|desc))?$" - company_id: - name: company_id - in: path - required: true - schema: - type: string - description: The UUID of the company - company_uuid: - name: company_uuid - in: path - required: true - schema: - type: string - description: The UUID of the company - contractor_uuid: - name: contractor_uuid - in: path - required: true - schema: - type: string - description: The UUID of the contractor - contractor_payment_id: - name: contractor_payment_id - in: path - required: true - schema: - type: string - description: The UUID of the contractor payment - contractor_payment_uuid: - name: contractor_payment_uuid - in: path - required: true - schema: - type: string - description: The UUID of the contractor payment - contractor_payment_group_uuid: - name: contractor_payment_group_uuid - in: path - required: true - schema: - type: string - description: The UUID of the contractor payment group - contractors_sort_by: - name: sort_by - in: query - required: false - description: 'Sort contractors. Options: type, onboarding_status, name, created_at (optionally with :asc or :desc suffix)' - schema: - type: string - pattern: "^(type|onboarding_status|name|created_at)(:(asc|desc))?$" - department_uuid: - name: department_uuid - in: path - required: true - schema: - type: string - description: The UUID of the department - document_id: - name: document_id - in: path - required: true - schema: - type: string - description: The UUID of the document - earning_type_uuid: - schema: - type: string - name: earning_type_uuid - in: path - required: true - description: The UUID of the earning type - effective_date: - in: query - name: effective_date - required: false - schema: - type: string - example: '2020-01-31' - employee_benefit_id: - name: employee_benefit_id - in: path - required: true - schema: - type: string - description: The UUID of the employee benefit. - employee_id: - name: employee_id - in: path - required: true - schema: - type: string - description: The UUID of the employee - employee_uuid: - name: employee_uuid - in: path - required: true - schema: - type: string - description: The UUID of the employee - sort_order: - name: sort_order - in: query - required: false - schema: - type: string - example: asc - enum: - - asc - - desc - description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. - event_type: - name: event_type - in: query - required: false - schema: - type: string - description: A string containing the exact event name (e.g. `employee.created`), or use a wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`, `notification.*.created` etc.) - external_payroll_id: - name: external_payroll_id - in: path - required: true - schema: - type: string - description: The UUID of the external payroll - form_id: - name: form_id - in: path - required: true - schema: - type: string - description: The UUID of the form - document_uuid: - name: document_uuid - in: path - required: true - schema: - type: string - description: The UUID of the document - garnishment_id: - name: garnishment_id - in: path - required: true - schema: - type: string - description: The UUID of the garnishment - historical_employee_uuid: - name: historical_employee_uuid - in: path - required: true - schema: - type: string - description: The UUID of the historical employee - home_address_uuid: - name: home_address_uuid - in: path - required: true - schema: - type: string - description: The UUID of the home address - work_address_uuid: - name: work_address_uuid - in: path - required: true - schema: - type: string - description: The UUID of the work address - job_id: - schema: - type: string - name: job_id - in: path - required: true - description: The UUID of the job - limit: - name: limit - in: query - required: false - schema: - type: string - description: Limits the number of objects returned in a single response, between 1 and 100. The default is 25 - location_id: - name: location_id - in: path - required: true - schema: - type: string - description: The UUID of the location - location_uuid: - name: location_uuid - in: path - required: true - schema: - type: string - description: The UUID of the location - payroll_id: - name: payroll_id - in: path - required: true - schema: - type: string - description: The UUID of the payroll - payroll_uuid: - name: payroll_uuid - in: path - required: true - schema: - type: string - description: The UUID of the payroll - pay_schedule_id: - name: pay_schedule_id - in: path - required: true - schema: - type: string - description: The UUID of the pay schedule - payroll_types: - name: payroll_types - in: query - required: false - schema: - type: string - description: regular and/or transition. Multiple options are comma separated. The default is regular pay periods if nothing is passed in. - payroll_prepare_sort_by: - name: sort_by - in: query - required: false - description: 'Sort employee compenstations by name. Options: first_name, last_name' - schema: - type: string - enum: - - first_name - - last_name - document_type: - name: document_type - in: path - required: true - schema: - type: string - enum: - - printable_payroll_checks - description: The type of document being generated - report_type: - schema: - type: string - name: report_type - in: path - required: true - description: The report type - report_uuid: - schema: - type: string - name: report_uuid - in: path - required: true - description: The UUID of the report request - request_uuid: - name: request_uuid - in: path - required: true - schema: - type: string - description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. - signatory_uuid: - name: signatory_uuid - in: path - required: true - schema: - type: string - description: The UUID of the signatory - starting_after_uuid: - name: starting_after_uuid - in: query - required: false - schema: - type: string - description: A cursor for pagination. Returns all events occuring after the specified UUID (exclusive). Events are sorted according to the provided sort_order param. - resource_uuid: - name: resource_uuid - in: query - required: false - schema: - type: string - description: The UUID of the company. If not specified, will return all events for all companies. - time_off_type: - schema: - type: string - required: true - in: query - name: time_off_type - description: 'The time off type name you want to query data for. ex: ''sick'' or ''vacation''' - time_off_policy_uuid: - name: time_off_policy_uuid - in: path - required: true - schema: - type: string - description: The UUID of the company time off policy - webhook_subscription_uuid: - name: webhook_subscription_uuid - in: path - required: true - schema: - type: string - description: The webhook subscription UUID. - VersionHeader: - name: X-Gusto-API-Version - in: header - required: false - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - schema: - type: string - enum: - - '2025-06-15' - default: '2025-06-15' - IpAddressHeader: - name: x-gusto-client-ip - in: header - required: false - description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. - schema: - type: string - notification_uuid: - name: notification_uuid - in: path - required: true - schema: - type: string - description: The notification entity_uuid - invoice_period: - name: invoice_period - in: path - required: true - schema: - type: string - example: 2020-01 - description: The month we are calculating the invoice for. Must be in YYYY-MM format - recovery_case_uuid: - name: recovery_case_uuid - in: path - required: true - schema: - type: string - description: The UUID of the recovery case - contractor_payment_uuid_query: - name: contractor_payment_uuid - in: query - required: false - schema: - type: string - description: The UUID of the contractor payment - payroll_uuid_query: - name: payroll_uuid - in: query - required: false - schema: - type: string - description: The UUID of the payroll - transaction_type: - name: transaction_type - in: query - required: false - schema: - type: string - description: Used to filter the ACH transactions to only include those with a specific transaction type, such as "Credit employee pay". - payment_direction: - name: payment_direction - in: query - required: false - schema: - type: string - description: Used to filter the ACH transactions to only include those with a specific payment direction, either "credit" or "debit". - wire_in_request_uuid: - name: wire_in_request_uuid - in: path - required: true - schema: - type: string - description: The UUID of the Wire In Request - time_sheet_uuid: - name: time_sheet_uuid - in: path - required: true - schema: - type: string - description: UUID of the time sheet - entity_uuids: - name: entity_uuids - required: false - in: query - schema: - type: array - items: - type: string - description: Entity UUIDs that reported time sheets - entity_type: - name: entity_type - required: false - in: query - schema: - type: string - enum: - - Employee - - Contractor - description: 'Type of entities to filter. One of: "Employee", "Contractor"' - status: - name: status - required: false - in: query - schema: - type: string - enum: - - approved - - pending - - rejected - description: 'Status of time sheets. One of: "approved", "pending", "rejected"' - time_sheet_before: - name: before - required: false - in: query - schema: - type: string - description: time sheets that were created before ISO 8601 timestamp. Filtering by "created_at" - time_sheet_after: - name: after - required: false - in: query - schema: - type: string - description: time sheets that were created before ISO 8601 timestamp. Filtering by "created_at" - time_sheet_sort_by: - name: sort_by - required: false - in: query - schema: - type: string - enum: - - created_at - - updated_at - - shift_started_at - - shift_ended_at - description: 'Field to sort by. One of: "created_at", "updated_at", "shift_started_at", "shift_ended_at"' - time_sheet_sort_order: - name: sort_order - required: false - in: query - schema: - type: string - enum: - - asc - - desc - description: 'Sorting order. One of: "asc", "desc"' - resource_version: - name: version - required: true - in: query - schema: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - schemas: - Versionable-Required: - type: object - properties: - version: - type: string - example: 56d00c178bc7393b2a206ed6a86afcb4 - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - required: - - version - Versionable: - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - Employee-Address: - type: object - x-examples: - success_status: - uuid: 700af712-62ba-4dff-824f-97a3c6fda416 - version: 6c3c23e4cc840bd3f1416f72b5380eff - employee_uuid: 78d20691-f1b4-4f74-bc4c-1d4db0099b00 - street_1: 3121 Milky Way - street_2: '' - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - effective_date: '1970-01-01' - courtesy_withholding: false - properties: - uuid: - type: string - description: The UUID of the employee address - employee_uuid: - type: string - description: The UUID of the employee - effective_date: - type: string - format: date - description: The date the employee started living at the address. - courtesy_withholding: - type: boolean - description: Determines if home taxes should be withheld and paid for employee. - street_1: - type: string - readOnly: false - street_2: - type: - - string - - 'null' - readOnly: false - city: - type: string - readOnly: false - state: - type: string - readOnly: false - zip: - type: string - readOnly: false - x-speakeasy-name-override: zip_code - country: - type: string - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - required: - - uuid - - version - Employee-Work-Address: - type: object - x-examples: - success_status: - uuid: 64ee5fd7-3eb2-4083-883c-95e93e181cc8 - employee_uuid: d773461f-848a-40a1-8f09-b2ee4249d5c7 - location_uuid: 733ab2af-9510-408f-8d20-09196967174f - effective_date: '2020-01-31' - active: true - version: 3879823d440f3a3215d129ac73c58966 - street_1: 977 Marks Viaduct - street_2: Apt. 958 - city: Pink Hill - state: NC - zip: '28572' - country: USA - properties: - uuid: - type: string - readOnly: true - description: The unique identifier of this work address. - effective_date: - type: string - description: The date the employee began working at this location. - active: - type: boolean - readOnly: true - description: Signifies if this address is the active work address for the current date - location_uuid: - type: string - description: UUID reference to the company location for this work address. - employee_uuid: - type: string - description: UUID reference to the employee for this work address. - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - street_1: - type: string - readOnly: true - street_2: - type: - - string - - 'null' - readOnly: true - city: - type: string - readOnly: true - state: - type: string - readOnly: true - zip: - type: string - readOnly: true - x-speakeasy-name-override: zip_code - country: - type: string - readOnly: true - default: USA - required: - - uuid - - version - Contractor-Address: - type: object - x-examples: - example: - version: 23323096a8015e32d9795fadf1fd300d - contractor_uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 - street_1: 999 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - properties: - contractor_uuid: - type: string - description: The UUID of the contractor - street_1: - type: - - string - - 'null' - readOnly: false - street_2: - type: - - string - - 'null' - readOnly: false - city: - type: - - string - - 'null' - readOnly: false - state: - type: - - string - - 'null' - readOnly: false - zip: - type: - - string - - 'null' - readOnly: false - x-speakeasy-name-override: zip_code - country: - type: - - string - - 'null' - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - Address: - type: object - allOf: - - "$ref": "#/components/schemas/Versionable" - - type: object - properties: - street_1: - type: - - string - - 'null' - readOnly: false - street_2: - type: - - string - - 'null' - readOnly: false - city: - type: - - string - - 'null' - readOnly: false - state: - type: - - string - - 'null' - readOnly: false - zip: - type: - - string - - 'null' - readOnly: false - x-speakeasy-name-override: zip_code - country: - type: - - string - - 'null' - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - example: - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - Employee-Home-Address: - type: object - properties: - street_1: - type: - - string - - 'null' - readOnly: false - street_2: - type: - - string - - 'null' - readOnly: false - city: - type: - - string - - 'null' - readOnly: false - state: - type: - - string - - 'null' - readOnly: false - zip: - type: - - string - - 'null' - readOnly: false - x-speakeasy-name-override: zip_code - country: - type: - - string - - 'null' - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - uuid: - type: string - description: Unique identifier for this address. - id: - type: integer - description: The internal ID of the address. - readOnly: true - effective_from: - type: string - format: date - description: The date the address became effective. - effective_to: - type: string - format: date - description: The date the address became inactive. - effective_date: - type: string - format: date - description: The date the address became effective. - example: - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - uud: sample-uuid-123231 - id: 3 - effective_from: '2024-01-01' - effective_to: '2025-01-01' - effective_date: '2024-01-01' - Department: - type: object - allOf: - - "$ref": "#/components/schemas/Versionable" - - type: object - properties: - uuid: - type: string - description: The UUID of the department - company_uuid: - type: string - description: The UUID of the company - title: - type: string - description: Name of the department - employees: - type: array - description: Array of employees assigned to the department. - items: - properties: - uuid: - type: string - contractors: - type: array - description: Array of contractors assigned to the department. - items: - properties: - uuid: - type: string - x-examples: - example: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: - - uuid: 41199375-a999-4414-9f40-d9bf596b134d - contractors: - - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 - example_created: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: [] - contractors: [] - Employee: - title: Employee - type: object - description: The representation of an employee in Gusto. - x-examples: - success_status: - uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 - first_name: Boaty - middle_initial: - last_name: Koss - email: keena.feest@kiehn.co.uk - company_uuid: e904cc79-818a-4da8-9d37-0be0a86fdda8 - manager_uuid: - version: a5cec1f1c0135feb3e76ca6ea3c46176 - current_employment_status: full_time - onboarding_status: onboarding_completed - preferred_first_name: - department_uuid: - employee_code: 46f036 - payment_method: Direct Deposit - department: - terminated: false - two_percent_shareholder: false - onboarded: true - historical: false - has_ssn: true - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f - version: 863bcd01c51fcfa2468d604cffec7413 - employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 - current_compensation_uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 - payment_unit: Year - primary: true - two_percent_shareholder: false - state_wc_covered: - state_wc_class_code: - title: '' - compensations: - - uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 - employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 - version: db7bfb49a4f0893432cb562311bfcad9 - payment_unit: Year - flsa_status: Exempt - adjust_for_minimum_wage: false - minimum_wages: [] - job_uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f - effective_date: '2025-06-09' - rate: '80000.00' - rate: '80000.00' - hire_date: '2024-06-09' - eligible_paid_time_off: [] - terminations: [] - garnishments: [] - date_of_birth: '2005-06-09' - ssn: '' - phone: - work_email: - member_portal_invitation_status: - status: sent - token_expired: false - welcome_email_sent_at: '2024-01-15T14:30:00Z' - last_password_resent_at: - partner_portal_invitation_sent: true - properties: - uuid: - type: string - description: The UUID of the employee in Gusto. - readOnly: true - first_name: - type: string - middle_initial: - type: - - string - - 'null' - last_name: - type: string - email: - type: - - string - - 'null' - description: The personal email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). - company_uuid: - type: string - description: The UUID of the company the employee is employed by. - readOnly: true - manager_uuid: - type: - - string - - 'null' - description: The UUID of the employee's manager. - readOnly: true - version: - type: string - description: The current version of the employee. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - readOnly: true - department: - type: - - string - - 'null' - description: The employee's department in the company. - readOnly: true - terminated: - type: boolean - description: Whether the employee is terminated. - readOnly: true - two_percent_shareholder: - type: - - boolean - - 'null' - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - work_email: - type: - - string - - 'null' - description: The work email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). - onboarded: - type: boolean - description: Whether the employee has completed onboarding. - readOnly: true - onboarding_status: - description: The current onboarding status of the employee - anyOf: - - type: string - enum: - - onboarding_completed - - admin_onboarding_incomplete - - self_onboarding_pending_invite - - self_onboarding_invited - - self_onboarding_invited_started - - self_onboarding_invited_overdue - - self_onboarding_completed_by_employee - - self_onboarding_awaiting_admin_review - - type: 'null' - readOnly: true - onboarding_documents_config: - type: object - description: Configuration for an employee onboarding documents during onboarding - properties: - uuid: - type: - - string - - 'null' - description: The UUID of the onboarding documents config - readOnly: true - i9_document: - type: boolean - description: Whether to include Form I-9 for an employee during onboarding - readOnly: true - jobs: - type: array - items: - "$ref": "#/components/schemas/Job" - eligible_paid_time_off: - type: array - items: - "$ref": "#/components/schemas/Paid-Time-Off" - terminations: - type: array - items: - "$ref": "#/components/schemas/Termination" - garnishments: - type: array - items: - "$ref": "#/components/schemas/Garnishment" - custom_fields: - type: array - description: Custom fields are only included for the employee if the include param has the custom_fields value set - items: - "$ref": "#/components/schemas/Employee-Custom-Field" - date_of_birth: - type: - - string - - 'null' - readOnly: true - has_ssn: - type: boolean - description: Indicates whether the employee has an SSN in Gusto. - ssn: - type: string - description: Deprecated. This field always returns an empty string. - phone: - type: - - string - - 'null' - preferred_first_name: - type: - - string - - 'null' - description: '' - payment_method: - type: string - description: The employee's payment method - enum: - - Direct Deposit - - Check - default: Check - nullable: false - current_employment_status: - anyOf: - - type: string - enum: - - full_time - - part_time_under_twenty_hours - - part_time_twenty_plus_hours - - variable - - seasonal - - type: 'null' - description: 'The current employment status of the employee. Full-time employees work 30+ hours per week. Part-time employees are split into two groups: those that work 20-29 hours a week, and those that work under 20 hours a week. Variable employees have hours that vary each week. Seasonal employees are hired for 6 months of the year or less.' - readOnly: true - historical: - type: boolean - nullable: false - employee_code: - type: string - description: The short format code of the employee - nullable: false - readOnly: true - department_uuid: - type: - - string - - 'null' - description: The UUID of the department the employee is under - title: - type: string - nullable: false - hired_at: - type: string - nullable: false - format: date - description: The date when the employee was hired to the company - hidden_ssn: - type: string - nullable: false - flsa_status: - "$ref": "#/components/schemas/Flsa-Status-Type" - applicable_tax_ids: - type: array - nullable: false - items: - type: number - member_portal_invitation_status: - type: - - object - - 'null' - description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. - properties: - status: - type: string - description: The current status of the member portal invitation. - enum: - - pending - - sent - - verified - - complete - - cancelled - token_expired: - type: - - boolean - - 'null' - description: Whether the invitation token has expired. - welcome_email_sent_at: - type: - - string - - 'null' - format: date-time - description: The date and time when the welcome email was sent. - last_password_resent_at: - type: - - string - - 'null' - format: date-time - description: The date and time when the password reset was last resent. - partner_portal_invitation_sent: - type: - - boolean - - 'null' - description: Whether an external partner portal invitation webhook has been sent for this employee. Only included when the include param has the portal_invitations value set. - required: - - uuid - - first_name - - last_name - readOnly: true - Employee-Onboarding-Status: - description: The representation of an employee's onboarding status. - type: object - title: Employee-Onboarding-Status - x-examples: - success_status: - uuid: 8351cf2a-17cb-49e3-94a7-9986dcb11e84 - onboarding_status: onboarding_completed - onboarding_steps: - - title: Personal details - id: personal_details - required: true - completed: true - requirements: [] - - title: Enter compensation details - id: compensation_details - required: true - completed: true - requirements: [] - - title: Add work address - id: add_work_address - required: true - completed: true - requirements: [] - - title: Add home address - id: add_home_address - required: true - completed: true - requirements: [] - - title: Enter federal tax withholdings - id: federal_tax_setup - required: true - completed: true - requirements: [] - - title: Enter state tax information - id: state_tax_setup - required: true - completed: false - requirements: - - add_work_address - - add_home_address - - title: Direct deposit setup - id: direct_deposit_setup - required: false - completed: true - requirements: [] - - title: Employee form signing - id: employee_form_signing - required: true - completed: false - requirements: - - federal_tax_setup - - state_tax_setup - - title: File new hire report - id: file_new_hire_report - required: true - completed: false - requirements: - - add_work_address - properties: - uuid: - type: string - description: Unique identifier for this employee. - onboarding_status: - type: string - description: One of the "onboarding_status" enum values. - onboarding_steps: - type: array - description: List of steps required to onboard an employee. - items: - title: Onboarding step - type: object - properties: - title: - type: string - description: User-friendly description of the onboarding step. - id: - type: string - description: String identifier for the onboarding step. - required: - type: boolean - description: When true, this step is required. - completed: - type: boolean - description: When true, this step has been completed. - requirements: - type: array - description: A list of onboarding steps required to begin this step. - items: - type: string - required: - - uuid - Company-Address: - description: The representation of a company's address in Gusto. - type: object - properties: - street_1: - type: string - readOnly: false - street_2: - type: - - string - - 'null' - readOnly: false - city: - type: string - readOnly: false - state: - type: string - readOnly: false - zip: - type: string - readOnly: false - x-speakeasy-name-override: zip_code - country: - type: string - readOnly: false - default: USA - inactive: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - Location: - description: The representation of an address in Gusto. - type: object - title: '' - x-examples: - success_status: - created_at: '2025-06-09T13:43:49.000-07:00' - updated_at: '2025-06-09T13:43:50.000-07:00' - company_uuid: 10593a6a-505b-4aa6-bf31-15dcdceedbe3 - version: e1bdd845a493c74908f8e15d6114169b - uuid: 6b1351a2-de35-4499-b948-43abab274634 - street_1: 300 3rd Street - street_2: Apartment 318 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - phone_number: '8009360383' - filing_address: true - mailing_address: true - properties: - uuid: - type: string - description: The UUID of the location object. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - company_uuid: - type: string - description: The UUID for the company to which the location belongs. Only included if the location belongs to a company. - readOnly: true - phone_number: - type: string - readOnly: false - description: The phone number for the location. Required for company locations. Optional for employee locations. - street_1: - type: string - readOnly: false - street_2: - type: - - string - - 'null' - readOnly: false - city: - type: string - readOnly: false - state: - type: string - readOnly: false - zip: - type: string - readOnly: false - x-speakeasy-name-override: zip_code - country: - type: string - readOnly: false - default: USA - mailing_address: - type: boolean - description: Specifies if the location is the company's mailing address. Only included if the location belongs to a company. - filing_address: - description: Specifies if the location is the company's filing address. Only included if the location belongs to a company. - type: boolean - created_at: - type: string - description: Datetime for when location is created - updated_at: - type: string - description: Datetime for when location is updated - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - inactive: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - required: - - uuid - Paid-Time-Off: - type: object - description: The representation of paid time off in Gusto. - properties: - name: - description: The name of the paid time off type. - anyOf: - - type: string - enum: - - Vacation Hours - - Sick Hours - - Holiday Hours - - type: 'null' - readOnly: true - policy_name: - type: - - string - - 'null' - description: The name of the time off policy. - readOnly: true - policy_uuid: - type: - - string - - 'null' - description: The UUID of the time off policy. - readOnly: true - accrual_unit: - type: - - string - - 'null' - example: Hour - description: The unit the PTO type is accrued in. - readOnly: true - accrual_rate: - type: - - string - - 'null' - description: The number of accrual units accrued per accrual period. - readOnly: true - accrual_method: - type: - - string - - 'null' - example: unlimited - description: The accrual method of the time off policy - readOnly: true - accrual_period: - type: - - string - - 'null' - example: Year - description: The frequency at which the PTO type is accrued. - readOnly: true - accrual_balance: - type: - - string - - 'null' - description: The number of accrual units accrued. - readOnly: true - maximum_accrual_balance: - type: - - string - - 'null' - description: The maximum number of accrual units allowed. A null value signifies no maximum. - readOnly: true - paid_at_termination: - type: boolean - description: Whether the accrual balance is paid to the employee upon termination. - readOnly: true - Child-Support-Data: - description: Child Support agency data - type: object - properties: - agencies: - type: array - description: State child support agencies - items: - type: object - properties: - state: - type: string - description: Two letter state abbreviation - name: - type: string - description: Name of state child support agency - manual_payment_required: - type: boolean - description: 'Specifies if remitting payment to the agency is required outside of Gusto. If true, Gusto includes garnishment amounts for this agency in payroll calculation, but does not debit for or remit payment to the agency automatically. As of September 2024, only garnishments for South Carolina Integrated Child Support Services require manual payment. ' - fips_codes: - type: array - description: FIPS codes for state or county child support orders - items: - type: object - properties: - code: - type: string - description: FIPS code for state or county - county: - type: - - string - - 'null' - description: Name of county in the state for the corresponding FIPS code. When `null` the FIPS code applies state wide. - required_attributes: - type: array - description: Describes which child support case identifying attributes are required for this agency. While most agencies only require a single identifier, some (e.g. OH) require multiple identifiers. - items: - type: object - properties: - key: - type: string - description: A required attribute when creating a garnishment for this state agency. The current values are listed as an enum; though unlikely, values could be added if state agency requirements change in the future. - enum: - - case_number - - order_number - - remittance_number - label: - type: string - description: A human readable name of the attribute, e.g. CSE Case Number - x-examples: - Example: - agencies: - - state: AK - name: Alaska Child Support Services Division - manual_payment_required: false - fips_codes: - - county: - code: '0200000' - required_attributes: - - key: case_number - label: CSE Case Number - - state: OH - name: Ohio Office of Child Support Enforcement - manual_payment_required: false - fips_codes: - - county: - code: '39000' - required_attributes: - - key: case_number - label: CSE Case Number - - key: order_number - label: Order Identifier - Garnishment-Child-Support: - description: Additional child support order details - type: - - object - - 'null' - properties: - state: - type: string - readOnly: false - description: The two letter state abbreviation for the state issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. - payment_period: - type: string - readOnly: false - enum: - - Every week - - Every other week - - Twice per month - - Monthly - description: How often the agency collects the withholding amount. e.g. $500 monthly -> `Monthly`. - fips_code: - type: string - description: The FIPS code associated with the state or county agency issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. - nullable: false - readOnly: false - case_number: - type: - - string - - 'null' - readOnly: false - description: Child Support Enforcement Case Number associated with this child support obligation - required for most states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. - order_number: - type: - - string - - 'null' - readOnly: false - description: Order Identifier or Order ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. - remittance_number: - type: - - string - - 'null' - readOnly: false - description: Child Support Enforcement Remittance ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. - Garnishment: - description: Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - type: object - properties: - uuid: - type: string - description: The UUID of the garnishment in Gusto. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - employee_uuid: - type: string - description: The UUID of the employee to which this garnishment belongs. - readOnly: true - active: - type: boolean - default: true - description: Whether or not this garnishment is currently active. - amount: - type: string - format: float - readOnly: false - description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". - description: - type: string - readOnly: false - description: The description of the garnishment. - court_ordered: - type: boolean - readOnly: false - description: Whether the garnishment is court ordered. - times: - type: - - integer - - 'null' - readOnly: false - default: - description: The number of times to apply the garnishment. Ignored if recurring is true. - recurring: - type: boolean - readOnly: false - default: false - description: Whether the garnishment should recur indefinitely. - annual_maximum: - format: float - readOnly: false - default: - description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". - type: - - string - - 'null' - total_amount: - type: - - string - - 'null' - format: float - readOnly: false - default: - description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. - pay_period_maximum: - type: - - string - - 'null' - format: float - default: - description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". - deduct_as_percentage: - type: boolean - readOnly: false - default: false - description: Whether the amount should be treated as a percentage to be deducted per pay period. - garnishment_type: - anyOf: - - type: string - enum: - - child_support - - federal_tax_lien - - state_tax_lien - - student_loan - - creditor_garnishment - - federal_loan - - other_garnishment - - type: 'null' - description: The specific type of garnishment for court ordered garnishments. - child_support: - "$ref": "#/components/schemas/Garnishment-Child-Support" - required: - - uuid - x-examples: - Example: - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '8.00' - description: Company loan to employee - court_ordered: false - times: 5 - recurring: false - annual_maximum: - total_amount: - pay_period_maximum: '100.00' - deduct_as_percentage: true - garnishment_type: - child_support: - Create-Example: - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '150.00' - description: Back taxes - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: - deduct_as_percentage: false - garnishment_type: - child_support: - Child-Support-Example: - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a - version: 52b7c567242cb7452e89ba2bc02cb383 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '40.00' - description: Child support - AZ28319 - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: '400.00' - deduct_as_percentage: true - garnishment_type: child_support - child_support: - state: AZ - payment_period: Monthly - case_number: AZ28319 - order_number: - remittance_number: - fips_code: '04000' - Garnishment-List: - - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '8.00' - description: Company loan to employee - court_ordered: false - times: 5 - recurring: false - annual_maximum: - total_amount: - pay_period_maximum: '100.00' - deduct_as_percentage: true - garnishment_type: - child_support: - - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a - version: 52b7c567242cb7452e89ba2bc02cb383 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '40.00' - description: Child support - AZ28319 - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: '400.00' - deduct_as_percentage: true - garnishment_type: child_support - child_support: - state: AZ - payment_period: Monthly - case_number: AZ28319 - order_number: - remittance_number: - fips_code: '04000' - Employee-Onboarding-Document: - type: object - description: Configuration for which onboarding documents (e.g. Form I-9) are required for an employee during onboarding. - properties: - uuid: - type: - - string - - 'null' - description: The UUID of the onboarding documents config record. Null when no config has been saved yet. - readOnly: true - i9_document: - type: boolean - description: | - Whether to include Form I-9 for this employee during onboarding. - When true, the employee will be prompted to complete Form I-9 as part of their onboarding. - readOnly: true - x-examples: - config_with_i9: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - i9_document: true - config_without_i9: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - i9_document: false - config_not_yet_saved: - uuid: - i9_document: false - I9-Authorization: - type: object - description: An employee's I-9 authorization - properties: - uuid: - type: string - description: The UUID of the I-9 authorization - readOnly: true - form_uuid: - type: - - string - - 'null' - description: The UUID of the Form associated with this I-9 authorization. Use this with "Employee Forms" API endpoints. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - readOnly: true - authorization_status: - type: string - description: The employee's authorization status - enum: - - citizen - - noncitizen - - permanent_resident - - alien - document_type: - anyOf: - - type: string - enum: - - uscis_alien_registration_number - - form_i94 - - foreign_passport - - type: 'null' - description: The document's document type - has_document_number: - type: - - boolean - - 'null' - description: Whether or not a `document_number` exists for this document. - expiration_date: - type: - - string - - 'null' - description: The document's expiration date - country: - type: - - string - - 'null' - description: The document's country of issuance - employer_signed: - type: boolean - description: Whether the employer has signed the Form I-9 - readOnly: true - employee_signed: - type: boolean - description: Whether the employee has signed the Form I-9 - readOnly: true - additional_info: - type: - - string - - 'null' - description: Any additional notes - alt_procedure: - type: - - boolean - - 'null' - description: Whether an alternative procedure authorized by DHS to examine documents was used - required: - - uuid - - version - - authorization_status - - employer_signed - - employee_signed - x-tags: - - I-9 Verification - x-examples: - alien_with_foreign_passport: - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - version: 6ae7ff720107b356bf13b1606f60b24f - form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - authorization_status: alien - document_type: foreign_passport - has_document_number: true - expiration_date: '2028-01-01' - country: Canada - employer_signed: false - employee_signed: false - additional_info: - alt_procedure: - citizen_authorization: - uuid: a12bc345-6789-4def-abcd-ef0123456789 - version: 52b7c567242cb7393b2a206ed6a86afcb - form_uuid: - authorization_status: citizen - document_type: - has_document_number: false - expiration_date: - country: - employer_signed: false - employee_signed: false - additional_info: - alt_procedure: - employer_signed_authorization: - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - version: 8bc7393b2a206ed6a86afcb4d00c1785 - form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - authorization_status: citizen - document_type: - has_document_number: false - expiration_date: - country: - employer_signed: true - employee_signed: true - additional_info: Additional info - alt_procedure: false - I9-Authorization-Document: - type: object - description: An employee's I-9 verification document - properties: - uuid: - type: string - description: The UUID of the I-9 verification document - readOnly: true - document_type: - type: string - description: The document's document type - document_title: - type: string - description: The document's document title - expiration_date: - type: - - string - - 'null' - description: The document's expiration date - issuing_authority: - type: string - description: The document's issuing authority - required: - - uuid - - document_type - - document_title - - issuing_authority - x-tags: - - I-9 Verification - x-examples: - driver_license: - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - document_type: driver_license - issuing_authority: USA - expiration_date: '2027-01-01' - document_title: Driver's license - ssn_card: - uuid: 9p2337f9-9b78-44b9-aeed-be4777b833a8 - document_type: ssn_card - issuing_authority: USA - document_title: Social Security card - I9-Authorization-Document-Option: - type: object - description: An employee's I-9 verification document option based on the authorization status - properties: - section: - type: string - description: The document option's section in the list of acceptable documents on the Form I-9 - readOnly: true - enum: - - A - - A1 - - A2 - - A3 - - B - - C - description: - type: string - description: The document option's description - readOnly: true - document_type: - type: string - description: The document option's document type - readOnly: true - document_title: - type: array - description: The document option's document titles - readOnly: true - items: - type: string - common_choice: - type: boolean - description: Whether the document is a common choice for I-9 verification - readOnly: true - required: - - section - - description - - document_type - - document_title - - common_choice - x-tags: - - I-9 Verification - x-examples: - example_a: - section: A - description: Foreign passport - document_type: foreign_passport_w_i94 - document_title: - - Foreign passport - common_choice: true - example_b: - section: B - description: Driver's license or state-issued ID card - document_type: driver_license - document_title: - - Driver's license - - State ID card - common_choice: true - example_c: - section: C - description: Social Security card - document_type: ssn_card - document_title: - - Social Security card - common_choice: true - Termination: - type: object - description: The representation of a termination in Gusto. - properties: - uuid: - type: string - description: The UUID of the termination object. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - employee_uuid: - type: string - description: The UUID of the employee to which this termination is attached. - readOnly: true - active: - type: boolean - description: Whether the employee's termination has gone into effect. - readOnly: true - cancelable: - type: boolean - description: Whether the employee's termination is cancelable. Cancelable is true if `run_termination_payroll` is false and `effective_date` is in the future. - readOnly: true - effective_date: - type: string - readOnly: false - description: The employee's last day of work. - run_termination_payroll: - type: boolean - readOnly: false - description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. - required: - - uuid - x-examples: - terminated_employee: - uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - version: d487dd0b55dfcacdd920ccbdaeafa351 - active: true - cancelable: false - effective_date: '2024-01-15' - run_termination_payroll: false - cancelable_termination: - uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - version: d487dd0b55dfcacdd920ccbdaeafa351 - active: false - cancelable: true - effective_date: '2024-06-15' - run_termination_payroll: false - Rehire-Body: - type: object - properties: - effective_date: - type: string - description: The day when the employee returns to work. - example: '2023-06-30' - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - work_location_uuid: - type: string - description: The uuid of the employee's work location. - example: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. - enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - - not_set - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - required: - - effective_date - - file_new_hire_report - - work_location_uuid - Fast-Payment-Limit-Param: - type: string - description: Fast payment limit. This limit is an aggregate of all fast payrolls amount. This limit is only relevant when payment speed is 1-day or 2-day. - Payment-Speed-Param: - type: string - description: Gusto Embedded supports three payment speeds (1-day, 2-day, and 4-day). For next-day payments, funds are deposited in your team's bank account by the end of the next business day. Most people will see the funds arrive the next afternoon, but payments may arrive as late as the end of the business day. - enum: - - 1-day - - 2-day - - 4-day - Fast-Payment-Limit-Required-Body: - type: object - properties: - fast_payment_limit: - "$ref": "#/components/schemas/Fast-Payment-Limit-Param" - payment_speed: - "$ref": "#/components/schemas/Payment-Speed-Param" - required: - - fast_payment_limit - Payment-Speed-Required-Body: - type: object - properties: - fast_payment_limit: - "$ref": "#/components/schemas/Fast-Payment-Limit-Param" - payment_speed: - "$ref": "#/components/schemas/Payment-Speed-Param" - required: - - payment_speed - Historical-Employee-Body: - type: object - description: | - Request body for creating or updating a **historical employee**—someone who already separated from the company and must appear on year-to-date or tax filings without receiving ongoing payroll. - - Send this object under the JSON root key `employee`. All dates are ISO 8601 (`YYYY-MM-DD`). Use a `work_address.location_uuid` returned from your company locations API for an active work site. - properties: - first_name: - type: string - description: Legal first name as it appears on government-issued identification. - example: Soren - middle_initial: - type: string - description: Single middle initial, if any. - example: A - last_name: - type: string - description: Legal last name as it appears on government-issued identification. - example: Kierkegaard - preferred_first_name: - type: string - description: Preferred given name for display; omit when the same as legal first name. - example: Angel - date_of_birth: - type: string - format: date - description: Date of birth (YYYY-MM-DD). - example: '1995-05-05' - ssn: - type: string - pattern: "[0-9]{9}" - description: 'Nine-digit U.S. Social Security number **without** dashes or spaces. Must pass Gusto/SSA validation in production; use a valid test SSN in sandbox environments. - -' - example: '123456294' - work_address: - type: object - description: Primary work location for this historical employment row. - required: - - location_uuid - properties: - location_uuid: - type: string - format: uuid - description: UUID of a company work location from the company locations response. - example: 1da85d35-1910-40a7-9c1f-8e2b3d4c5a6f - home_address: - type: object - description: Residential address on file for tax withholding and compliance mail. - properties: - street_1: - type: string - description: Street address line 1. - example: 55 Mission St - street_2: - type: - - string - - 'null' - description: Apartment, suite, unit, or building (optional). - example: Floor 3 - city: - type: string - description: City. - example: San Francisco - state: - type: string - description: Two-letter U.S. state or territory postal abbreviation. - example: CA - zip: - type: string - description: ZIP or ZIP+4. - example: '94105' - x-speakeasy-name-override: zip_code - required: - - street_1 - - city - - state - - zip - termination: - type: object - description: End of the historical employment period. - required: - - effective_date - properties: - effective_date: - type: string - format: date - description: Last day of employment (termination date). This is recorded on the employment; use the calendar date the person stopped working for the company. - example: '2022-01-01' - email: - type: string - format: email - description: Optional. When provided, stored on the employee record for notifications and profile. - example: soren.kierkegaard@example.com - job: - type: object - description: Hire date for the historical job used to build employments and filings. - required: - - hire_date - properties: - hire_date: - type: string - format: date - description: First calendar day the employee was employed in this role at the company. - example: '2020-01-01' - employee_state_taxes: - type: object - description: Workers' compensation fields for Washington (WA) or Wyoming (WY) when the work address is in those states; omit when not applicable. - properties: - wc_covered: - type: boolean - description: Whether this job is eligible for workers' compensation coverage in the states of Washington (WA) or Wyoming (WY). - example: true - wc_class_code: - type: string - description: The risk class code for workers' compensation in Washington or Wyoming state. For Washington, visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. For Wyoming you can search for the code online using [WY Workforce Services website](https://dws.wyo.gov/dws-division/workers-compensation/) or call the agency at (307) 235-3217. - example: '051000' - required: - - first_name - - last_name - - date_of_birth - - ssn - - work_address - - home_address - - job - - termination - x-examples: - typical_historical_employee: - first_name: Soren - middle_initial: A - last_name: Kierkegaard - preferred_first_name: Angel - date_of_birth: '1995-05-05' - ssn: '123456294' - email: soren.kierkegaard@example.com - work_address: - location_uuid: 1da85d35-1910-40a7-9c1f-8e2b3d4c5a6f - home_address: - street_1: 55 Mission St - street_2: Floor 3 - city: San Francisco - state: CA - zip: '94105' - job: - hire_date: '2020-01-01' - termination: - effective_date: '2022-01-01' - Pay-Schedule-Assignment-Body: - type: object - properties: - type: - anyOf: - - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - - type: 'null' - description: The pay schedule assignment type. - hourly_pay_schedule_uuid: - type: string - description: Pay schedule for hourly employees. - salaried_pay_schedule_uuid: - type: string - description: Pay schedule for salaried employees. - default_pay_schedule_uuid: - type: string - description: Default pay schedule for employees. - partial_assignment: - type: boolean - description: Indicates whether the request provides pay schedule assignments for a partial list of employees or departments of the company. By default, this is set to false. - employees: - type: array - description: List of employees and their pay schedules. - items: - type: object - properties: - employee_uuid: - type: string - description: Employee UUID - pay_schedule_uuid: - type: string - description: Pay schedule UUID - departments: - type: array - description: List of departments and their pay schedules. - items: - type: object - properties: - department_uuid: - type: string - description: Department UUID - pay_schedule_uuid: - type: string - description: Pay schedule UUID - required: - - type - Flsa-Status-Type: - type: string - enum: - - Exempt - - Salaried Nonexempt - - Nonexempt - - Owner - - Commission Only Exempt - - Commission Only Nonexempt - description: 'The FLSA status for this compensation. Salaried (''Exempt'') employees are paid a fixed salary every pay period. Salaried with overtime (''Salaried Nonexempt'') employees are paid a fixed salary every pay period, and receive overtime pay when applicable. Hourly (''Nonexempt'') employees are paid for the hours they work, and receive overtime pay when applicable. Commissioned employees (''Commission Only Exempt'') earn wages based only on commission. Commissioned with overtime (''Commission Only Nonexempt'') earn wages based on commission, and receive overtime pay when applicable. Owners (''Owner'') are employees that own at least twenty percent of the company. ' - Compensation: - type: object - description: The representation of compensation in Gusto. - properties: - uuid: - type: string - description: The UUID of the compensation in Gusto. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - job_uuid: - type: string - description: The UUID of the job to which the compensation belongs. - readOnly: true - employee_uuid: - type: string - description: The UUID of the employee to which the compensation belongs. - readOnly: true - rate: - type: string - readOnly: false - description: The dollar amount paid per payment unit. - payment_unit: - type: string - readOnly: false - description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. - enum: - - Hour - - Week - - Month - - Year - - Paycheck - flsa_status: - "$ref": "#/components/schemas/Flsa-Status-Type" - title: - type: string - description: The job title for this compensation. - effective_date: - type: string - readOnly: false - description: The effective date for this compensation. For the first compensation, this defaults to the job's hire date. - adjust_for_minimum_wage: - type: boolean - description: Indicates if the compensation could be adjusted to minimum wage during payroll calculation. - readOnly: true - minimum_wages: - type: array - readOnly: false - description: The minimum wages associated with the compensation. - items: - type: object - properties: - uuid: - type: string - description: The UUID of the minimum wage. - wage: - type: string - description: The wage amount. - effective_date: - type: string - description: The effective date of the minimum wage. - required: - - uuid - x-examples: - success_status: - uuid: db4d41e5-813c-477e-bfae-38da2ae5e7a3 - version: 56d00c178bc7393b2a206ed6a86afcb4 - job_uuid: c1fdb417-c34a-43a7-92f3-5e6c20c1d7a4 - employee_uuid: a7e8f9bc-0d12-4e56-b789-012345678901 - rate: '70000.00' - payment_unit: Year - flsa_status: Exempt - effective_date: '2023-01-01' - adjust_for_minimum_wage: false - minimum_wages: [] - title: Software Engineer - hourly_compensation: - uuid: e5f6a7b8-c9d0-1234-e5f6-a7b8c9d01234 - version: 98b7a6c5d4e3f2a1b0c9d8e7f6a5b4c3 - job_uuid: d2e5f8a1-b4c7-4d90-a3e6-f9b2c5d8e1a4 - employee_uuid: b8f9a0bc-1e23-4f67-c890-123456789012 - rate: '25.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2023-01-01' - adjust_for_minimum_wage: false - minimum_wages: [] - title: Associate - minimum_wage_adjusted: - uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a - version: cc59bd3879d655fb940a1f6b675f2ad9 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '5.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2018-12-11' - adjust_for_minimum_wage: true - minimum_wages: - - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 - wage: '7.25' - effective_date: '2018-12-11' - Form-Document-Content-Type-Type: - type: - - string - - 'null' - description: The content type of the associated document. Most forms are PDFs with a content type of `application/pdf`. Some tax file packages will be zip files (containing PDFs) with a content type of `application/zip`. This attribute will be `null` when the document has not been prepared. - readOnly: true - Form: - title: Form - type: object - properties: - uuid: - type: string - description: The UUID of the form - readOnly: true - employee_uuid: - type: string - description: The UUID of the employee to which the form belongs, if applicable. - readOnly: true - name: - type: string - description: The type identifier of the form - readOnly: true - title: - type: string - description: The title of the form - readOnly: true - description: - type: string - description: The description of the form - readOnly: true - draft: - type: boolean - description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. - readOnly: true - year: - type: - - integer - - 'null' - description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A W2 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. - readOnly: true - quarter: - type: - - integer - - 'null' - description: The quarter of this form. For some forms, e.g. tax forms, this is the calendar quarter which this form represents. An Employer's Quarterly Federal Tax Return (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year value of 2022). This value is nullable and will not be present on all forms. - readOnly: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. - readOnly: true - document_content_type: - "$ref": "#/components/schemas/Form-Document-Content-Type-Type" - x-examples: - Example: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: company_direct_deposit - title: Direct Deposit Authorization - description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. - draft: false - year: - quarter: - requires_signing: true - document_content_type: application/pdf - employee_form: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - employee_uuid: c5fdae67-b148-4b52-8b33-1384024a1256 - name: w4_federal - title: 'Form W-4: 2024' - description: Form W-4 determines how much federal income tax your employer will withhold from your pay. - draft: false - year: 2024 - quarter: - requires_signing: true - document_content_type: application/pdf - quarterly_tax_form: - uuid: 7a2b9f3e-1c4d-4e5f-8a6b-2d3e4f5a6b7c - name: form_941 - title: 'Form 941: Q2 2024' - description: Employer's Quarterly Federal Tax Return for the second quarter of 2024. - draft: false - year: 2024 - quarter: 2 - requires_signing: false - document_content_type: application/pdf - sandbox_w2: - uuid: bf5b2496-26df-436e-b465-eae4ed5c8021 - employee_uuid: 19394e76-a866-4570-b237-9a26b0163907 - name: US_W-2 - title: 'Draft Form W-2: 2021' - description: Form W-2 records your annual wages and taxes. - draft: true - year: 2021 - quarter: - requires_signing: false - document_content_type: application/pdf - x-tags: - - Forms - required: - - uuid - Form_1099: - title: Form - type: object - properties: - uuid: - type: string - description: The UUID of the form - readOnly: true - name: - type: string - description: The type identifier of the form - readOnly: true - title: - type: string - description: The title of the form - readOnly: true - description: - type: string - description: The description of the form - readOnly: true - draft: - type: boolean - description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. - readOnly: true - year: - type: - - integer - - 'null' - description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A 1099 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. - readOnly: true - quarter: - type: - - integer - - 'null' - description: The quarter of this form. This value is currently always null since it is not present on any contractor forms. - readOnly: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. - readOnly: true - document_content_type: - "$ref": "#/components/schemas/Form-Document-Content-Type-Type" - contractor_uuid: - type: string - description: The contractor UUID - readOnly: true - x-examples: - Example: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: US_1099 - title: 'Form 1099: 2020' - description: Form 1099 records your annual income as a contractor. - draft: false - requires_signing: false - year: 2020 - quarter: - document_content_type: application/pdf - contractor_uuid: 123dd616-6dbc-4724-938a-403f6217a933 - sandbox_1099: - uuid: 29afb141-2256-431d-90e0-1c7344222342 - contractor_uuid: b68484a9-4487-4ee5-bafc-4245133a426c - name: US_1099 - title: 'Form 1099: 2022' - description: Form 1099 records your annual income as a contractor. - draft: true - requires_signing: false - year: 2022 - quarter: - document_content_type: application/pdf - x-tags: - - Forms - required: - - uuid - Form-Pdf: - title: Form Pdf - type: object - properties: - uuid: - type: string - description: the UUID of the form - readOnly: true - document_url: - type: - - string - - 'null' - description: the URL of the form - document_content_type: - "$ref": "#/components/schemas/Form-Document-Content-Type-Type" - x-examples: - Example: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - document_url: https://app.gusto-demo.com/assets/forms/7757842065202782/original/form.pdf?1633667020 - document_content_type: application/pdf - document_not_ready: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - document_url: - document_content_type: - required: - - uuid - Document: - title: Document - type: object - properties: - uuid: - type: string - description: The UUID of the document - readOnly: true - title: - type: string - description: The title of the document - readOnly: true - name: - type: string - description: The type identifier of the document - readOnly: true - recipient_type: - type: string - description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) - enum: - - Company - - Employee - - Contractor - readOnly: true - recipient_uuid: - type: string - description: Unique identifier for the recipient associated with the document - readOnly: true - pages: - type: array - description: List of the document's pages and associated image URLs. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. - items: - type: object - properties: - image_url: - type: string - description: Image URL for the page - page_number: - type: integer - description: Page number - readOnly: true - fields: - type: array - description: List of the document's fields and associated data. Values are set for auto-filled fields. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. - items: - type: object - properties: - key: - type: - - string - - 'null' - description: Unique identifier of the field. May be null for custom fields that do not correspond to a known Gusto-managed key mapping. - value: - type: - - string - - 'null' - description: Auto-filled value of the field - x: - type: - - integer - - 'null' - description: X-coordinate location of the field on the page. May be null when the field has no positioning information. - "y": - type: - - integer - - 'null' - description: Y-coordinate location of the field on the page. May be null when the field has no positioning information. - width: - type: - - integer - - 'null' - description: Width of the field. May be null when the field has no positioning information. - height: - type: - - integer - - 'null' - description: Height of the field. May be null when the field has no positioning information. - page_number: - type: - - integer - - 'null' - description: Page number of the field. May be null when the field has no positioning information. - data_type: - type: string - description: The field's data type - required: - type: boolean - description: Whether the field is required - readOnly: true - signed_at: - type: - - string - - 'null' - description: When the document was signed (will be `null` if unsigned) - readOnly: true - description: - type: string - description: The description of the document - readOnly: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. - draft: - type: boolean - description: If the document is in a draft state - readOnly: true - year: - type: - - integer - - 'null' - description: The year of this document. This value is nullable and will not be present on all documents. - readOnly: true - quarter: - type: - - integer - - 'null' - description: The quarter of this document. This value is nullable and will not be present on all documents. - readOnly: true - x-examples: - Example: - uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b - title: Taxpayer Identification (Form W-9) - name: taxpayer_identification_form_w_9 - recipient_type: Contractor - recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 - pages: - - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/0.jpg - page_number: 0 - - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/1.jpg - page_number: 1 - fields: - - key: text1596141656513 - value: - x: 69 - "y": 94 - width: 261 - height: 13 - page_number: 0 - data_type: text - required: true - - key: optional_text1596141704672 - value: - x: 69 - "y": 118 - width: 262 - height: 13 - page_number: 0 - data_type: text - required: false - signed_at: - description: Form W-9, Request for Taxpayer Identification Number and Certification - requires_signing: true - draft: false - year: - quarter: - x-tags: - - Documents - Document-Signed: - title: Document Signed - type: object - properties: - uuid: - type: string - description: The UUID of the document - readOnly: true - title: - type: string - description: The title of the document - readOnly: true - name: - type: string - description: The type identifier of the document - readOnly: true - recipient_type: - type: string - description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) - enum: - - Company - - Employee - - Contractor - readOnly: true - recipient_uuid: - type: string - description: Unique identifier for the recipient associated with the document - readOnly: true - pages: - type: array - description: List of the document's pages and associated image URLs. - items: - type: object - properties: - image_url: - type: string - description: Image URL for the page - page_number: - type: integer - description: Page number - readOnly: true - fields: - type: array - description: List of the document's fields and associated data. Values reflect the data provided at signing. - items: - type: object - properties: - key: - type: - - string - - 'null' - description: Unique identifier of the field. May be null for custom fields that do not correspond to a known Gusto-managed key mapping. - value: - type: - - string - - 'null' - description: Value of the field - x: - type: - - integer - - 'null' - description: X-coordinate location of the field on the page. May be null when the field has no positioning information. - "y": - type: - - integer - - 'null' - description: Y-coordinate location of the field on the page. May be null when the field has no positioning information. - width: - type: - - integer - - 'null' - description: Width of the field. May be null when the field has no positioning information. - height: - type: - - integer - - 'null' - description: Height of the field. May be null when the field has no positioning information. - page_number: - type: - - integer - - 'null' - description: Page number of the field. May be null when the field has no positioning information. - data_type: - type: string - description: The field's data type - required: - type: boolean - description: Whether the field is required - readOnly: true - signed_at: - type: - - string - - 'null' - description: When the document was signed (will be `null` if unsigned) - readOnly: true - description: - type: string - description: The description of the document - readOnly: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. - draft: - type: boolean - description: If the document is in a draft state - readOnly: true - year: - type: - - integer - - 'null' - description: The year of this document. This value is nullable and will not be present on all documents. - readOnly: true - quarter: - type: - - integer - - 'null' - description: The quarter of this document. This value is nullable and will not be present on all documents. - readOnly: true - x-examples: - Example: - uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b - title: Taxpayer Identification (Form W-9) - name: taxpayer_identification_form_w_9 - recipient_type: Contractor - recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 - signed_at: '2024-09-03T16:39:22.000-07:00' - description: Form W-9, Request for Taxpayer Identification Number and Certification - requires_signing: false - draft: false - year: - quarter: - x-tags: - - Documents - Document-Pdf: - title: Document Pdf - type: object - properties: - uuid: - type: string - description: the UUID of the document - readOnly: true - document_url: - type: string - description: the URL of the document - x-examples: - Example: - uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b - document_url: https://app.gusto-demo.com/assets/personal_documents/23/original.pdf?1724367941 - x-tags: - - Documents - Industry: - title: Industry - type: object - properties: - company_uuid: - type: string - description: Company UUID - readOnly: true - title: - type: - - string - - 'null' - example: Computer Training - description: Industry title - readOnly: true - naics_code: - type: - - string - - 'null' - example: '611420' - description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. - sic_codes: - type: array - description: A list of Standard Industrial Classification (SIC) codes, which are four digit numbers that categorize the industries that companies belong to based on their business activities. If sic_codes is not passed in, we will perform an internal lookup with `naics_code`. - items: - type: string - example: '8243' - x-examples: - Example: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - naics_code: '611420' - sic_codes: - - '8243' - title: Computer Training - success_status: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - naics_code: '231208' - sic_codes: - - '1500' - title: Construction - x-tags: - - Industry - Job: - title: Job - type: object - properties: - uuid: - type: string - description: The UUID of the job. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - employee_uuid: - type: string - description: The UUID of the employee to which the job belongs. - readOnly: true - hire_date: - type: string - readOnly: false - description: The date when the employee was hired or rehired for the job. - title: - type: - - string - - 'null' - readOnly: false - default: - description: The title for the job. - primary: - type: boolean - description: Whether this is the employee's primary job. The value will be set to true unless an existing job exists for the employee. - readOnly: true - rate: - type: string - description: The current compensation rate of the job. - readOnly: true - payment_unit: - type: - - string - - 'null' - description: The payment unit of the current compensation for the job. - readOnly: true - current_compensation_uuid: - type: string - description: The UUID of the current compensation of the job. - readOnly: true - two_percent_shareholder: - type: boolean - description: Whether the employee owns at least 2% of the company. - readOnly: false - state_wc_covered: - type: - - boolean - - 'null' - description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). - readOnly: false - state_wc_class_code: - type: - - string - - 'null' - description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. - readOnly: false - compensations: - type: array - items: - "$ref": "#/components/schemas/Compensation" - readOnly: true - location_uuid: - type: string - nullable: false - description: The uuid of the employee's work location. - location: - "$ref": "#/components/schemas/Location" - description: The representation of a job in Gusto. - required: - - uuid - x-examples: - example: - uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - hire_date: '2020-01-20' - title: Account Director - primary: true - rate: '78000.00' - payment_unit: Year - current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - two_percent_shareholder: false - state_wc_covered: - state_wc_class_code: - compensations: - - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - version: 98jr3289h3298hr9329gf9egskt3tjaj - job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - rate: '78000.00' - payment_unit: Year - flsa_status: Exempt - effective_date: '2020-01-20' - adjust_for_minimum_wage: false - minimum_wages: [] - secondary_job: - uuid: a1b2c3d4-5678-9012-abcd-ef1234567890 - version: hj29fh3298hf9832hf98h32f89h32f89h32f9832 - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - hire_date: '2020-01-20' - title: Senior Consultant - primary: false - rate: '25.00' - payment_unit: Hour - current_compensation_uuid: b2c3d4e5-6789-0123-bcde-f12345678901 - two_percent_shareholder: false - state_wc_covered: - state_wc_class_code: - compensations: - - uuid: b2c3d4e5-6789-0123-bcde-f12345678901 - version: 93jr2398h23r9832rg9832rg98ewrg98e - job_uuid: a1b2c3d4-5678-9012-abcd-ef1234567890 - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - rate: '25.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2020-01-20' - adjust_for_minimum_wage: false - minimum_wages: [] - External-Payroll: - description: The representation of an external payroll. - type: object - x-tags: - - External Payrolls - title: '' - properties: - uuid: - type: string - description: The UUID of the external payroll. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: - type: string - description: External payroll's check date. - readOnly: true - payment_period_start_date: - type: string - description: External payroll's pay period start date. - readOnly: true - payment_period_end_date: - type: string - description: External payroll's pay period end date. - readOnly: true - status: - type: string - enum: - - unprocessed - - processed - description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. - readOnly: true - external_payroll_items: - type: array - description: External payroll items for employees - readOnly: true - items: - type: object - properties: - employee_uuid: - type: string - earnings: - type: array - items: - type: object - properties: - amount: - type: string - format: float - hours: - type: string - format: float - earning_type: - type: string - earning_id: - type: integer - benefits: - type: array - items: - type: object - properties: - benefit_id: - type: integer - company_contribution_amount: - type: string - format: float - employee_deduction_amount: - type: string - format: float - taxes: - type: array - items: - type: object - properties: - tax_id: - type: integer - amount: - type: string - format: float - applicable_earnings: - type: array - description: Applicable earnings based on company provisioning. - readOnly: true - items: - type: object - properties: - earning_type: - type: string - earning_id: - type: number - name: - type: string - input_type: - type: string - category: - type: string - applicable_benefits: - type: - - array - - 'null' - description: Applicable benefits based on company provisioning. - readOnly: true - items: - type: object - properties: - id: - type: integer - description: - type: string - active: - type: boolean - applicable_taxes: - type: array - description: Applicable taxes based on company provisioning. - readOnly: true - items: - type: object - properties: - id: - type: integer - name: - type: string - employer_tax: - type: boolean - description: Some taxes may have an amount withheld from the employee and an amount withheld from the employer, e.g. Social Security. A `true` value indicates this is the employer's amount. - resident_tax: - type: boolean - description: Some taxes may have different rates or reporting requirements depending on if the employee is a resident or non-resident of the tax jurisdiction. - metadata: - type: object - description: Stores metadata of the external payroll. - readOnly: true - properties: - deletable: - type: boolean - description: Determines if the external payroll can be deleted. - readOnly: true - x-examples: - Example: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: '2022-06-03' - payment_period_start_date: '2022-05-15' - payment_period_end_date: '2022-05-30' - status: unprocessed - external_payroll_items: - - employee_uuid: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca - earnings: - - amount: '10000.0' - hours: '0.0' - earning_type: CompanyPayType - earning_id: 1 - - amount: '500.0' - hours: '0.0' - earning_type: CompanyEarningType - earning_id: 4 - benefits: - - benefit_id: 22 - company_contribution_amount: '100.0' - employee_deduction_amount: '50.0' - - benefit_id: 25 - company_contribution_amount: '0.0' - employee_deduction_amount: '300.0' - taxes: - - tax_id: 1 - amount: '400.0' - - tax_id: 2 - amount: '60.0' - applicable_earnings: - - earning_type: CompanyPayType - earning_id: 1 - name: Regular Wages - input_type: amount - category: default - - earning_type: CompanyEarningType - earning_id: 4 - name: Cash Tips - input_type: amount - category: default - applicable_benefits: - - id: 22 - description: Kaiser - active: true - - id: 25 - description: HSA - active: true - applicable_taxes: - - id: 1 - name: Federal Income Tax - employer_tax: false - resident_tax: false - - id: 2 - name: Social Security - employer_tax: false - resident_tax: false - metadata: - deletable: true - required: - - uuid - Webhook-Subscription: - description: The representation of webhook subscription. - type: object - x-tags: - - Webhooks - title: '' - properties: - uuid: - type: string - description: The UUID of the webhook subscription. - readOnly: true - url: - type: string - description: The webhook subscriber URL. Updates will be POSTed to this URL. - readOnly: true - status: - type: string - enum: - - pending - - verified - - removed - - unreachable - description: The status of the webhook subscription. - readOnly: true - subscription_types: - type: array - description: Receive updates for these types. - readOnly: false - items: - type: string - enum: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PayrollSync - - PaySchedule - - Signatory - x-examples: - Example: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - url: https://partner-app.com/subscriber - status: verified - subscription_types: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PayrollSync - - PaySchedule - - Signatory - Pending: - uuid: a1b2c3d4-5678-90ab-cdef-1234567890ab - url: https://partner-app.com/webhooks - status: pending - subscription_types: - - Company - - Employee - required: - - uuid - External-Payroll-Basic: - description: The representation of an external payroll with minimal information. - type: object - x-tags: - - External Payrolls - title: '' - properties: - uuid: - type: string - description: The UUID of the external payroll. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: - type: string - description: External payroll's check date. - readOnly: true - payment_period_start_date: - type: string - description: External payroll's pay period start date. - readOnly: true - payment_period_end_date: - type: string - description: External payroll's pay period end date. - readOnly: true - status: - type: string - enum: - - unprocessed - - processed - description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. - readOnly: true - x-examples: - Example: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: '2022-06-03' - payment_period_start_date: '2022-05-15' - payment_period_end_date: '2022-05-30' - status: unprocessed - required: - - uuid - External-Payroll-Tax-Suggestions: - description: The representation of an external payroll with minimal information. - type: object - x-tags: - - External Payrolls - title: '' - properties: - employee_uuid: - type: string - description: The UUID of the employee. - readOnly: true - tax_suggestions: - type: array - description: Possible tax liabilities selections. - readOnly: true - items: - type: object - properties: - tax_id: - type: integer - description: The ID of the tax. - readOnly: true - amount: - type: string - description: Calculated tax amount. - readOnly: true - x-examples: - Example: - employee_uuid: d21848d5-446f-48a8-9430-30fbefeabda4 - tax_suggestions: - - tax_id: 1 - amount: '500.0' - - tax_id: 2 - amount: '100.0' - - tax_id: 4 - amount: '30.0' - Tax-Liabilities-Selections: - description: The representation of tax liabilities selections. - x-tags: - - External Payrolls - title: '' - type: object - properties: - tax_id: - type: integer - description: The ID of the tax. - readOnly: true - tax_name: - type: string - description: The name of the tax. - readOnly: true - description: - type: - - string - - 'null' - description: A description of the tax, providing additional detail about the tax type. - readOnly: true - last_unpaid_external_payroll_uuid: - type: - - string - - 'null' - description: The UUID of last unpaid external payroll. - readOnly: true - possible_liabilities: - type: array - description: Possible tax liabilities selections. - readOnly: true - items: - type: object - properties: - liability_amount: - type: string - description: Liability amount. - readOnly: true - payroll_check_date: - type: - - string - - 'null' - description: The external payroll check date. - readOnly: true - external_payroll_uuid: - type: - - string - - 'null' - description: The UUID of the external payroll. - readOnly: true - x-examples: - Example: - tax_id: 1 - tax_name: Federal Income Tax - description: Employee Federal Income Tax - last_unpaid_external_payroll_uuid: - possible_liabilities: - - liability_amount: '0.0' - payroll_check_date: - external_payroll_uuid: - - liability_amount: '3000.0' - payroll_check_date: '2022-06-01' - external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - Admin: - title: Admin - type: object - description: The representation of an admin user in Gusto. - x-examples: - Example: - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - first_name: John - last_name: Smith - email: jsmith99@gmail.com - phone: '8009360383' - properties: - uuid: - type: string - description: The unique id of the admin. - email: - type: string - description: The email of the admin for Gusto's system. - first_name: - type: string - description: The first name of the admin. - last_name: - type: string - description: The last name of the admin. - phone: - type: - - string - - 'null' - description: The phone number of the admin. - x-tags: - - Admins - required: - - uuid - Company: - title: Company - type: object - description: The representation of a company in Gusto. - properties: - ein: - type: string - description: The Federal Employer Identification Number of the company. - readOnly: true - entity_type: - description: The tax payer type of the company. - anyOf: - - type: string - enum: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - - type: 'null' - readOnly: true - contractor_only: - type: boolean - description: Whether the company only supports contractors. - tier: - type: - - string - - 'null' - description: The Gusto product tier of the company (not applicable to Embedded partner managed companies). - readOnly: true - enum: - - simple - - plus - - premium - - core - - complete - - concierge - - contractor_only - - basic - is_suspended: - type: boolean - description: Whether or not the company is suspended in Gusto. Suspended companies may not run payroll. - company_status: - type: string - description: The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. - enum: - - Approved - - Not Approved - - Suspended - readOnly: true - uuid: - type: string - description: A unique identifier of the company in Gusto. - readOnly: true - name: - type: string - description: The name of the company. - readOnly: true - slug: - type: string - description: The slug of the name of the company. - readOnly: true - trade_name: - type: - - string - - 'null' - description: The trade name of the company. - readOnly: true - is_partner_managed: - type: boolean - description: Whether the company is fully managed by a partner via the API - readOnly: true - is_high_risk_business: - type: boolean - description: Whether or not Gusto has identified the company as representing a high fraud risk. - readOnly: true - is_marijuana_business: - type: boolean - description: Whether or not the company is a marijuana-related business. - readOnly: true - pay_schedule_type: - anyOf: - - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - - type: 'null' - description: The pay schedule assignment type. - readOnly: true - join_date: - type: - - string - - 'null' - description: Company's first invoiceable event date - readOnly: true - funding_type: - description: Company's default funding type - anyOf: - - type: string - enum: - - ach - - reverse_wire - - wire_in - - partner_disbursement - - rtp - - line_of_credit - - type: 'null' - locations: - type: array - uniqueItems: false - description: The locations of the company. - items: - "$ref": "#/components/schemas/Company-Address" - readOnly: true - compensations: - type: object - description: The available company-wide compensation rates for the company. - properties: - hourly: - type: array - uniqueItems: true - description: The available hourly compensation rates for the company. - items: - type: object - properties: - uuid: - type: - - string - - 'null' - description: The UUID of the hourly compensation rate. - readOnly: true - name: - type: string - description: The name of the hourly compensation rate. - example: Overtime - readOnly: true - multiple: - type: number - description: The amount multiplied by the base rate of a job to calculate compensation. - example: 1.5 - readOnly: true - readOnly: true - readOnly: true - fixed: - type: array - uniqueItems: true - description: The available fixed compensation rates for the company. - items: - type: object - properties: - uuid: - type: - - string - - 'null' - description: The UUID of the fixed compensation. - readOnly: true - name: - type: string - description: The name of the fixed compensation. - example: Bonus - readOnly: true - readOnly: true - paid_time_off: - type: array - uniqueItems: true - description: The available types of paid time off for the company. - items: - type: object - properties: - uuid: - type: - - string - - 'null' - description: The UUID of the paid time off type. - readOnly: true - name: - type: string - example: Vacation Hours - description: The name of the paid time off type. - readOnly: true - readOnly: true - readOnly: true - readOnly: true - primary_signatory: - type: - - object - - 'null' - description: The primary signatory of the company. - properties: - uuid: - type: string - readOnly: true - description: The UUID of the company's primary signatory. - first_name: - type: string - readOnly: true - description: The company's primary signatory's first name. - middle_initial: - type: - - string - - 'null' - readOnly: true - description: The company's primary signatory's middle initial. - last_name: - type: string - readOnly: true - description: The company's primary signatory's last name. - phone: - type: string - readOnly: true - description: The company's primary signatory's phone number. - email: - type: string - readOnly: true - description: The company's primary signatory's email address. - home_address: - type: object - properties: - street_1: - type: string - readOnly: true - street_2: - type: - - string - - 'null' - readOnly: true - city: - type: string - readOnly: true - state: - type: string - readOnly: true - zip: - type: string - readOnly: true - x-speakeasy-name-override: zip_code - country: - type: string - readOnly: true - readOnly: true - description: The company's primary signatory's home address. - readOnly: true - primary_payroll_admin: - type: object - description: The primary payroll admin of the company. - properties: - first_name: - type: string - readOnly: true - description: The company's primary payroll admin's first name. - last_name: - type: string - readOnly: true - description: The company's primary payroll admin's last name. - phone: - type: - - string - - 'null' - readOnly: true - description: The company's primary payroll admin's phone number. - email: - type: string - readOnly: true - description: The company's primary payroll admin's email address. - x-examples: - success_status: - uuid: c7a07c73-a703-4462-9343-1b181182b6e0 - name: Shoppe Studios LLC - trade_name: Record Shoppe - is_partner_managed: true - tier: complete - locations: - - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: true - ein: 00-0000001 - entity_type: C-Corporation - pay_schedule_type: by_department - join_date: '2024-01-15' - funding_type: ach - slug: shoppe-studios-llc - is_suspended: false - company_status: Approved - is_high_risk_business: false - is_marijuana_business: false - contractor_only: false - compensations: - hourly: - - uuid: 7da6b57d-22f9-11f1-ad28-0242ac100003 - name: Overtime - multiple: 1.5 - - uuid: 7da6b5ec-22f9-11f1-ad28-0242ac100003 - name: Double overtime - multiple: 2 - - uuid: 7da6b22f-22f9-11f1-ad28-0242ac100003 - name: Regular - multiple: 1 - - uuid: 7da6b3ac-22f9-11f1-ad28-0242ac100003 - name: Outstanding vacation - multiple: 1 - - uuid: 7da6b532-22f9-11f1-ad28-0242ac100003 - name: Holiday - multiple: 1 - - uuid: 7da6b44e-22f9-11f1-ad28-0242ac100003 - name: Emergency sick - self care - multiple: 1 - - uuid: 7da6b49d-22f9-11f1-ad28-0242ac100003 - name: Emergency sick - caring for others - multiple: 1 - - uuid: 7da6b4e6-22f9-11f1-ad28-0242ac100003 - name: FMLA Public Health Emergency Leave - multiple: 1 - fixed: - - uuid: 7da68d82-22f9-11f1-ad28-0242ac100003 - name: Bonus - - uuid: 7da69024-22f9-11f1-ad28-0242ac100003 - name: Commission - - uuid: 7da69104-22f9-11f1-ad28-0242ac100003 - name: Paycheck Tips - - uuid: 7da6918f-22f9-11f1-ad28-0242ac100003 - name: Cash Tips - - uuid: 7da69216-22f9-11f1-ad28-0242ac100003 - name: Correction Payment - - uuid: 7da692a6-22f9-11f1-ad28-0242ac100003 - name: Severance - - uuid: 7da69356-22f9-11f1-ad28-0242ac100003 - name: Minimum Wage Adjustment - - uuid: - name: Reimbursement - paid_time_off: - - uuid: 7dcdcb77-22f9-11f1-ad28-0242ac100003 - name: Vacation Hours - - uuid: 7dcdcc8b-22f9-11f1-ad28-0242ac100003 - name: Sick Hours - - uuid: - name: Holiday Hours - primary_signatory: - uuid: 2d7cd96f-e2fb-4db7-8c04-99ef531b4527 - first_name: Alda - middle_initial: '' - last_name: Carter - phone: '4160000000' - email: louie.hessel7757869450111547@zemlak.biz - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - primary_payroll_admin: - first_name: Ian - last_name: Labadie - phone: 1-565-710-7559 - email: louie.hessel7757869450111547@zemlak.biz - x-tags: - - Companies - required: - - uuid - Company-Onboarding-Status: - description: The representation of a company's onboarding status - type: object - title: '' - x-examples: - Example: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_completed: false - onboarding_steps: - - title: Add Your Company's Addresses - id: add_addresses - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Enter Your Federal Tax Information - id: federal_tax_setup - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Select Industry - id: select_industry - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Add Your Bank Account - id: add_bank_info - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Add Your Employees - id: add_employees - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: true - requirements: - - add_addresses - - title: Enter Your State Tax Information - id: state_setup - required: true - completed: false - completed_at: - skippable: false - requirements: - - add_addresses - - add_employees - - title: Select a Pay Schedule - id: payroll_schedule - required: true - completed: false - completed_at: - skippable: false - requirements: [] - - title: Sign Documents - id: sign_all_forms - required: true - completed: false - completed_at: - skippable: false - requirements: - - add_employees - - federal_tax_setup - - state_setup - - add_bank_info - - payroll_schedule - - title: Verify Your Bank Account - id: verify_bank_info - required: true - completed: false - completed_at: - skippable: false - requirements: - - add_bank_info - x-tags: - - Companies - properties: - uuid: - type: string - description: the UUID of the company - onboarding_completed: - type: boolean - description: a boolean flag for the company's onboarding status - onboarding_steps: - type: array - description: a list of company onboarding steps - items: - title: Onboarding step - type: object - properties: - title: - type: string - description: The display name of the onboarding step - id: - type: string - description: The string identifier for each onboarding step - enum: - - add_addresses - - federal_tax_setup - - select_industry - - add_bank_info - - add_employees - - state_setup - - payroll_schedule - - sign_all_forms - - verify_bank_info - - external_payroll - required: - type: boolean - description: The boolean flag indicating whether the step is required or optional - completed: - type: boolean - description: The boolean flag indicating whether the step is completed or not. - completed_at: - type: - - string - - 'null' - description: The ISO 8601 timestamp indicating when the onboarding step was completed. - skippable: - type: boolean - description: The boolean flag indicating whether the step can be skipped or not. - requirements: - type: array - description: A list of onboarding steps that are required to be completed in order to proceed with the current onboarding step. - items: - type: string - enum: - - add_addresses - - federal_tax_setup - - select_industry - - add_bank_info - - add_employees - - state_setup - - payroll_schedule - - sign_all_forms - - verify_bank_info - - external_payroll - required: - - uuid - Payment-Configs: - title: Payment-Configs - type: object - properties: - company_uuid: - type: string - description: Company uuid - readOnly: true - partner_uuid: - type: string - description: Partner uuid - readOnly: true - fast_payment_limit: - type: - - string - - 'null' - description: Payment limit for 1-day or 2-day payroll (string representation of decimal). - readOnly: true - payment_speed: - type: string - enum: - - 1-day - - 2-day - - 4-day - description: | - Payment speed. READ-ONLY. - - `1-day`: Next-day ACH (only for partners that opt in). - - `2-day`: Two-day ACH. - - `4-day`: Standard ACH. - readOnly: true - partner_owned_disbursement: - type: boolean - description: Whether the company is configured to use the partner-owned disbursement payment rail - readOnly: true - earned_fast_ach_blockers: - type: array - description: Blockers preventing the company from earning fast ACH payments - readOnly: true - items: - type: object - properties: - blocker_type: - type: string - description: The type of blocker - enum: - - minimum_days - - minimum_funded_payments - readOnly: true - threshold: - type: number - description: The threshold needed to unblock - readOnly: true - x-examples: - typical_payment_config: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 - fast_payment_limit: '5000.0' - payment_speed: 2-day - partner_owned_disbursement: false - earned_fast_ach_blockers: [] - payment_config_with_blockers: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 - fast_payment_limit: - payment_speed: 2-day - partner_owned_disbursement: false - earned_fast_ach_blockers: - - blocker_type: minimum_days - threshold: 15 - - blocker_type: minimum_funded_payments - threshold: 5 - x-tags: - - Payment Configs - Contractor-Body: - type: object - properties: - type: - type: string - description: The contractor type. - default: Individual - enum: - - Individual - - Business - wage_type: - type: string - description: 'The contractor’s wage type. - -' - enum: - - Fixed - - Hourly - start_date: - type: string - description: 'The day when the contractor will start working for the company. - -' - example: '2020-01-11' - hourly_rate: - type: string - description: The contractor’s hourly rate. This attribute is required if the wage_type is `Hourly`. - example: '40.0' - self_onboarding: - type: boolean - default: false - description: |- - Whether the contractor or the payroll admin will complete onboarding in Gusto. - Self-onboarding is recommended so that contractors receive Gusto accounts. - If self_onboarding is true, then email is required. - email: - type: string - description: The contractor’s email address. - first_name: - type: string - description: |- - The contractor’s first name. - This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. - last_name: - type: string - description: |- - The contractor’s last name. - This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. - middle_initial: - type: string - description: |- - The contractor’s middle initial. - This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. - file_new_hire_report: - type: boolean - default: false - description: |- - The boolean flag indicating whether Gusto will file a new hire report for the contractor. - This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. - work_state: - type: - - string - - 'null' - description: |- - State where the contractor will be conducting the majority of their work for the company. - This value is used when generating the new hire report. - This attribute is required for `Individual` contractors if `file_new_hire_report` is true and will be ignored for `Business` contractors. - ssn: - type: string - pattern: "[0-9]{9}" - description: |- - This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. - Social security number is needed to file the annual 1099 tax form. - business_name: - type: string - description: The name of the contractor business. This attribute is required for `Business` contractors and will be ignored for `Individual` contractors. - ein: - type: string - description: |- - The employer identification number of the contractor business. - This attribute is optional for `Business` contractors and will be ignored for `Individual` contractors. - is_active: - type: boolean - description: The status of the contractor. If the contractor's start date is in the future, updating this field to true means we are setting the start date to today. Attempting to deactivate a contractor while a dismissal is already scheduled, or reactivate while a rehire is already scheduled, will return a 422 error. Cancel the pending transition first using the appropriate cancel endpoint. - Contractor: - description: The representation of a contractor (individual or business) in Gusto. - type: object - properties: - uuid: - type: string - description: The UUID of the contractor in Gusto. - readOnly: true - company_uuid: - type: string - description: The UUID of the company the contractor is employed by. - readOnly: true - wage_type: - type: string - enum: - - Fixed - - Hourly - description: The contractor's wage type, either "Fixed" or "Hourly". - is_active: - type: boolean - default: true - description: The status of the contractor with the company. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - type: - type: string - enum: - - Individual - - Business - description: 'The contractor''s type, either "Individual" or "Business". ' - first_name: - type: - - string - - 'null' - description: The contractor’s first name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. - last_name: - type: - - string - - 'null' - description: The contractor’s last name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. - middle_initial: - type: - - string - - 'null' - description: The contractor’s middle initial. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. - business_name: - type: - - string - - 'null' - description: The name of the contractor business. This attribute is required for “Business” contractors and will be ignored for “Individual” contractors. - ein: - type: - - string - - 'null' - description: The Federal Employer Identification Number of the contractor business. This attribute is optional for “Business” contractors and will be ignored for “Individual” contractors. - has_ein: - type: - - boolean - - 'null' - description: Whether company's Employer Identification Number (EIN) is present - email: - type: - - string - - 'null' - description: 'The contractor’s email address. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. ' - start_date: - type: string - description: The contractor's start date. - readOnly: true - address: - type: - - object - - 'null' - description: The contractor’s home address. - properties: - street_1: - type: string - readOnly: true - street_2: - type: - - string - - 'null' - readOnly: true - city: - type: string - readOnly: true - state: - type: string - readOnly: true - zip: - type: string - readOnly: true - x-speakeasy-name-override: zip_code - country: - type: string - readOnly: true - readOnly: true - hourly_rate: - type: string - example: '50.0' - description: The contractor’s hourly rate. This attribute is required if the wage_type is “Hourly”. - file_new_hire_report: - type: - - boolean - - 'null' - description: The boolean flag indicating whether Gusto will file a new hire report for the contractor - work_state: - type: - - string - - 'null' - description: |- - State where the contractor will be conducting the majority of their work for the company. - This value is used when generating the new hire report. - onboarded: - type: boolean - description: The updated onboarding status for the contractor - onboarding_status: - type: string - description: One of the "onboarding_status" enum values. - enum: - - admin_onboarding_incomplete - - admin_onboarding_review - - self_onboarding_not_invited - - self_onboarding_invited - - self_onboarding_started - - self_onboarding_review - - onboarding_completed - payment_method: - anyOf: - - type: string - enum: - - Direct Deposit - - Check - - type: 'null' - description: The contractor's payment method. - has_ssn: - type: boolean - description: Indicates whether the contractor has an SSN in Gusto. - department_uuid: - type: - - string - - 'null' - description: The UUID of the department the contractor is under - department: - type: - - string - - 'null' - description: The contractor's department in the company. - readOnly: true - department_title: - type: - - string - - 'null' - description: The title of the contractor's department. - readOnly: true - dismissal_date: - type: - - string - - 'null' - description: The contractor's dismissal date. - readOnly: true - upcoming_employment: - type: - - object - - 'null' - description: The contractor's upcoming employment details, if a rehire is scheduled. - readOnly: true - properties: - start_date: - type: string - description: The start date of the upcoming employment. - setup_status: - type: - - string - - 'null' - description: The setup status of the upcoming employment. - dismissal_cancellation_eligible: - type: boolean - description: Whether the contractor's pending dismissal can be cancelled. - readOnly: true - rehire_cancellation_eligible: - type: boolean - description: Whether the contractor's pending rehire can be cancelled. - readOnly: true - member_portal_invitation_status: - type: - - object - - 'null' - description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. - properties: - status: - type: string - description: The current status of the member portal invitation. - enum: - - pending - - sent - - verified - - complete - - cancelled - token_expired: - type: - - boolean - - 'null' - description: Whether the invitation token has expired. - welcome_email_sent_at: - type: - - string - - 'null' - format: date-time - description: The date and time when the welcome email was sent. - last_password_resent_at: - type: - - string - - 'null' - format: date-time - description: The date and time when the password reset was last resent. - partner_portal_invitation_sent: - type: - - boolean - - 'null' - description: Whether an external partner portal invitation webhook has been sent for this contractor. Only included when the include param has the portal_invitations value set. - x-tags: - - Contractors - required: - - uuid - x-examples: - Individual Contractor: - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Hourly - start_date: '2022-01-01' - is_active: true - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 - email: keira.west@mckenzie.org - file_new_hire_report: true - work_state: FL - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 621 Jast Row - street_2: Apt. 281 - city: Coral Springs - state: FL - zip: '33065' - country: USA - hourly_rate: '60.00' - payment_method: Direct Deposit - department: Engineering - department_title: Engineering - dismissal_date: - upcoming_employment: - dismissal_cancellation_eligible: false - rehire_cancellation_eligible: false - member_portal_invitation_status: - status: sent - token_expired: false - welcome_email_sent_at: '2024-01-15T14:30:00Z' - last_password_resent_at: - partner_portal_invitation_sent: true - Business Contractor: - uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c - company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f - wage_type: Fixed - start_date: '2022-01-01' - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - file_new_hire_report: false - work_state: - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 1625 Bednar Center - street_2: Apt. 480 - city: Port Charlotte - state: FL - zip: '33954' - country: USA - hourly_rate: '0.00' - payment_method: Direct Deposit - department_uuid: - department: - department_title: - dismissal_date: - upcoming_employment: - dismissal_cancellation_eligible: false - rehire_cancellation_eligible: false - member_portal_invitation_status: - partner_portal_invitation_sent: false - Contractor-Onboarding-Status: - description: The representation of an contractor's onboarding status. +components: + schemas: + Versionable-Required: type: object - title: Contractor-Onboarding-Status - x-tags: - - Contractor - x-examples: - example: - uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - onboarding_status: admin_onboarding_incomplete - onboarding_steps: - - title: Basic details - id: basic_details - required: true - completed: false - requirements: [] - - title: Enter compensation details - id: compensation_details - required: true - completed: false - requirements: [] - - title: Add an address - id: add_address - required: true - completed: false - requirements: [] - - title: Payment details - id: payment_details - required: true - completed: false - requirements: [] - - title: Sign and acknowledge documents - id: sign_documents - required: false - completed: false - requirements: - - basic_details - - add_address - - title: File new hire report - id: file_new_hire_report - required: false - completed: false - requirements: - - basic_details properties: - uuid: - type: string - description: Unique identifier for this contractor. - onboarding_status: + version: type: string - description: One of the "onboarding_status" enum values. - enum: - - onboarding_completed - - admin_onboarding_review - - admin_onboarding_incomplete - - self_onboarding_not_invited - - self_onboarding_invited - - self_onboarding_started - - self_onboarding_review - onboarding_steps: - type: array - description: List of steps required to onboard a contractor. - items: - title: Onboarding step - type: object - properties: - title: - type: string - description: User-friendly description of the onboarding step. - id: - type: string - description: String identifier for the onboarding step. - required: - type: boolean - description: When true, this step is required. - completed: - type: boolean - description: When true, this step has been completed. - requirements: - type: array - description: A list of onboarding steps required to begin this step. - items: - type: string + example: 56d00c178bc7393b2a206ed6a86afcb4 + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. required: - - uuid - Contractor-Payment: - description: The representation of a single contractor payment. - type: object + - version + Minimum-Wage-List: + type: array x-examples: success_status: - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037, - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - may_cancel: true - status: Funded - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - example: - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - may_cancel: false - status: Funded - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - title: Contractor Payment - properties: - uuid: - type: string - description: The unique identifier of the contractor payment in Gusto. - readOnly: true - contractor_uuid: - type: string - description: The UUID of the contractor. - readOnly: true - bonus: - type: string - format: float - description: The bonus amount in the payment. - readOnly: true - date: - type: string - description: The payment date. - readOnly: true - hours: - type: string - format: float - description: The number of hours worked for the payment. - readOnly: true - payment_method: - type: string - description: The payment method. - enum: - - Direct Deposit - - Check - - Historical Payment - - Correction Payment - readOnly: true - reimbursement: - type: string - format: float - description: The reimbursement amount in the payment. - readOnly: true - status: - type: string - description: Contractor payment status - enum: - - Funded - - Unfunded - hourly_rate: + - uuid: 1b71bb5b-4811-46e9-8a8a-cf5521cbeda6 + authority: City + wage: '15.0' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + - uuid: 87434623-b57d-4630-8da5-9dde599c7840 + authority: City + wage: '10.5' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + - uuid: fa055c11-bfe4-4ac3-84dd-8502cf046b20 + authority: State + wage: '10.5' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + - uuid: cdd9dfc2-6465-4693-ae60-0eecff35038c + authority: Federal + wage: '10.5' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + items: + "$ref": "#/components/schemas/Minimum-Wage" + Minimum-Wage: + type: object + description: Representation of a Minimum Wage + properties: + uuid: type: string - format: float - description: The rate per hour worked for the payment. - readOnly: true - may_cancel: - type: boolean - description: Determine if the contractor payment can be cancelled. - readOnly: true + description: unique identifier of a minimum wage wage: type: string format: float - description: The fixed wage of the payment, regardless of hours worked. - readOnly: true + description: The wage rate for a minimum wage record. Represented as a float, e.g. "15.0". wage_type: type: string - description: The wage type for the payment. - enum: - - Hourly - - Fixed - readOnly: true - wage_total: - type: string - format: float - description: "(hours * hourly_rate) + wage + bonus" - readOnly: true - x-tags: - - Contractor Payments - required: - - uuid - Contractor-Payment-Group: - description: The full contractor payment group, including associated contractor payments. - type: object - allOf: - - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" - - type: object - properties: - partner_owned_disbursement: - type: - - boolean - - 'null' - description: Whether the disbursement is partner owned. - readOnly: true - submission_blockers: - type: array - description: List of submission blockers for the contractor payment group. - readOnly: true - items: - "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" - credit_blockers: - type: array - description: List of credit blockers for the contractor payment group. - readOnly: true - items: - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" - totals: - type: object - properties: - amount: - type: string - description: The total amount for the group of contractor payments. - readOnly: true - debit_amount: - type: string - description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. - readOnly: true - wage_amount: - type: string - description: The total wage amount for the group of contractor payments. - readOnly: true - reimbursement_amount: - type: string - description: The total reimbursement amount for the group of contractor payments. - readOnly: true - check_amount: - type: string - description: The total check amount for the group of contractor payments. - readOnly: true - readOnly: true - contractor_payments: - type: array - items: - "$ref": "#/components/schemas/Contractor-Payment-For-Group" - x-examples: - success: - uuid: f693e034-d833-46e3-88d4-2c820c383c57 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-05-07' - debit_date: '2024-05-01' - status: Unfunded - creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed - contractor_payments: - - uuid: 630dc982-f498-4ebc-a6dc-4d76711027ce - contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 - bonus: '0.0' - hours: '40.0' - hourly_rate: '18.0' - may_cancel: false - payment_method: Direct Deposit - reimbursement: '75.0' - status: Unfunded - wage: '0.0' - wage_type: Hourly - wage_total: '720.0' - - uuid: 12f51eba-d653-4357-8c05-1f1f8d0fd5e3 - contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: false - payment_method: Check - reimbursement: '0.0' - status: Unfunded - wage: '1500.0' - wage_type: Fixed - wage_total: '1500.0' - totals: - amount: '2295.0' - debit_amount: '2295.0' - wage_amount: '2220.0' - reimbursement_amount: '75.0' - With submission blockers: - uuid: 5ec3b582-7d04-4397-be1e-f0e79d00e1b7 - company_uuid: 4a39b249-1e22-4fc9-a40f-cb07d2ab394e - check_date: '2025-08-21' - debit_date: '2025-08-19' - status: Unfunded - creation_token: 5ec3b582-7d04-4397-be1e-f0e79d00e1b7 - partner_owned_disbursement: false - submission_blockers: - - blocker_type: fast_ach_threshold_exceeded - blocker_name: Fast ACH Threshold Exceeded - selected_option: wire_in - status: resolved - unblock_options: - - unblock_type: wire_in - check_date: '2025-08-21' - metadata: - wire_in_deadline: '2025-08-21T18:00:00Z' - wire_in_amount: '760000.0' - - unblock_type: move_to_four_day - check_date: '2025-08-21' - metadata: - debit_date: '2025-08-15' - credit_blockers: - - blocker_type: waiting_for_wire_in - blocker_name: Waiting for Wire In - selected_option: submit_wire - status: unresolved - unblock_options: - - unblock_type: submit_wire - check_date: '2025-08-21' - metadata: - wire_in_deadline: '2025-08-21T18:00:00Z' - wire_in_amount: '760000.0' - wire_in_request_uuid: 7a31fef8-46c6-4114-9677-214b7a3cb532 - contractor_payments: - - uuid: ca8c7899-c2dc-40bb-8b7e-08c1309f5135 - contractor_uuid: b4c6cd3c-4b45-4738-ad40-3da45b29a765 - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: false - payment_method: Direct Deposit - reimbursement: '750000.0' - status: Unfunded - wage: '10000.0' - wage_type: Fixed - wage_total: '10000.0' - totals: - amount: '760000.00' - debit_amount: '760000.00' - wage_amount: '10000.00' - reimbursement_amount: '750000.00' - check_amount: '0.00' - x-tags: - - Contractor Payment Groups - Contractor-Payment-Group-Minimal: - description: The summary of a contractor payment group. - type: object - allOf: - - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" - - type: object - properties: - totals: - type: object - properties: - amount: - type: string - description: The total amount for the group of contractor payments. - readOnly: true - debit_amount: - type: string - description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. - readOnly: true - wage_amount: - type: string - description: The total wage amount for the group of contractor payments. - readOnly: true - reimbursement_amount: - type: string - description: The total reimbursement amount for the group of contractor payments. - readOnly: true - readOnly: true - x-examples: - success: - - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-03-15' - debit_date: '2024-03-11' - status: Funded - creation_token: a51a3500-3200-43af-a738-169d4b66a9db - totals: - debit_amount: '740.00' - wage_amount: '720.00' - reimbursement_amount: '20.00' - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-05-02' - debit_date: '2024-04-26' - status: Unfunded - creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed - totals: - debit_amount: '2365.00' - wage_amount: '2270.00' - reimbursement_amount: '95.00' - x-tags: - - Contractor Payment Groups - Contractor-Payment-For-Group: - description: The representation of a single contractor payment. + description: The type of wage the minimum wage applies to, e.g. "Regular", "Regular-Industry-Specific". + effective_date: + type: string + format: date + description: The date the minimum wage rule is effective on. + authority: + type: string + description: The governing authority that created the minimum wage, e.g. "City", "State", or "Federal". + notes: + type: string + description: Description of parties the minimum wage applies to. + required: + - uuid + - wage + - wage_type + - effective_date + - authority + Location: + description: The representation of an address in Gusto. type: object + title: '' + x-examples: + success_status: + created_at: '2025-06-09T13:43:49.000-07:00' + updated_at: '2025-06-09T13:43:50.000-07:00' + company_uuid: 10593a6a-505b-4aa6-bf31-15dcdceedbe3 + version: e1bdd845a493c74908f8e15d6114169b + uuid: 6b1351a2-de35-4499-b948-43abab274634 + street_1: 300 3rd Street + street_2: Apartment 318 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + phone_number: '8009360383' + filing_address: true + mailing_address: true properties: uuid: type: string - description: The unique identifier of the contractor payment in Gusto. + description: The UUID of the location object. readOnly: true - contractor_uuid: + version: type: string - description: The UUID of the contractor. - readOnly: true - bonus: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + company_uuid: type: string - description: The bonus amount in the payment. + description: The UUID for the company to which the location belongs. Only included if the location belongs to a company. readOnly: true - hours: + phone_number: type: string - description: The number of hours worked for the payment. - readOnly: true - payment_method: + readOnly: false + description: The phone number for the location. Required for company locations. Optional for employee locations. + street_1: type: string - description: The payment method. - enum: - - Direct Deposit - - Check - - Historical Payment - - Correction Payment - readOnly: true - reimbursement: + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: type: string - description: The reimbursement amount in the payment. - readOnly: true - status: + readOnly: false + state: type: string - description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. - enum: - - Funded - - Unfunded - hourly_rate: + readOnly: false + zip: type: string - description: The rate per hour worked for the payment. - readOnly: true - may_cancel: + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: false + default: USA + mailing_address: type: boolean - description: Determine if the contractor payment can be cancelled. - readOnly: true - wage: + description: Specifies if the location is the company's mailing address. Only included if the location belongs to a company. + filing_address: + description: Specifies if the location is the company's filing address. Only included if the location belongs to a company. + type: boolean + created_at: type: string - description: The fixed wage of the payment, regardless of hours worked. - readOnly: true - wage_type: + description: Datetime for when location is created + updated_at: type: string - description: The wage type for the payment. - enum: - - Hourly - - Fixed + description: Datetime for when location is updated + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. readOnly: true - wage_total: - type: string - description: "(hours * hourly_rate) + wage + bonus" + inactive: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. readOnly: true - x-tags: - - Contractor Payment Groups - Contractor-Payment-Summary: - description: The representation of the summary of contractor payments for a given company in a given time period. + required: + - uuid + Company-Location-Request: type: object + description: Request body for creating a company location (company address). + properties: + street_1: + type: string + description: Street address line 1. + example: 300 3rd Street + street_2: + type: + - string + - 'null' + description: Street address line 2. + example: Apartment 318 + city: + type: string + description: City. + example: San Francisco + state: + type: string + description: State code (e.g. CA). Must be a valid two-letter state code. + example: CA + zip: + type: string + description: ZIP code. Must be a valid US zip (e.g. 12345 or 12345-6789). + example: '94107' + x-speakeasy-name-override: zip_code + country: + type: string + description: Country code. Defaults to USA. + default: USA + example: USA + phone_number: + type: string + description: Phone number. Must be 10 digits. + pattern: "[0-9]{10}" + example: '8009360383' + mailing_address: + type: boolean + description: Specify if this location is the company's mailing address. + filing_address: + type: boolean + description: Specify if this location is the company's filing address. + required: + - phone_number + - street_1 + - city + - state + - zip + x-examples: + typical_location: + street_1: 300 3rd Street + street_2: Apartment 318 + city: San Francisco + state: CA + zip: '94107' + country: USA + phone_number: '8009360383' + mailing_address: false + filing_address: false + Company-Locations-List: + type: array x-examples: success_status: - total: - reimbursements: '110.0' - wages: '1840.0' - contractor_payments: - - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - reimbursement_total: '110.0' - wage_total: '1840.0' - payments: - - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - may_cancel: true - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '100.0' - date: '2020-10-19' - hours: '0.00' - payment_method: Direct Deposit - reimbursement: '10.0' - hourly_rate: '0.0' - may_cancel: true - wage: '1000.0' - wage_type: Fixed - wage_total: '1100.0' + - uuid: 04552eb9-7829-4b18-ae96-6983552948df + version: 7d9753112507b9dda4fb97910f39b06e + company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb + phone_number: '5825710808' + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + mailing_address: false + filing_address: false + created_at: '2023-09-12T16:42:25.000-07:00' + updated_at: '2023-09-12T16:42:25.000-07:00' + active: true + inactive: false + - uuid: fa94a2fd-11a8-4024-87ff-85c587d9d2b4 + version: 15e6b9680e00f3122729e64e3cef3224 + company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb + phone_number: '2866070827' + street_1: 644 Fay Vista + street_2: Suite 842 + city: Richmond + state: VA + zip: '23218' + country: USA, + mailing_address: true + filing_address: false + created_at: '2023-09-12T16:42:25.000-07:00' + updated_at: '2023-09-12T16:42:25.000-07:00' + active: true + inactive: false + items: + "$ref": "#/components/schemas/Location" + Not-Found-Error-Object: + description: "Not Found \n \nThe requested resource does not exist. Make sure the provided ID/UUID is valid." + type: object + required: + - errors properties: - total: - type: object - description: The wage and reimbursement totals for all contractor payments within a given time period. - properties: - reimbursements: - type: string - format: float - description: The total reimbursements for contractor payments within a given time period. - readOnly: true - wages: - type: string - format: float - description: The total wages for contractor payments within a given time period. - readOnly: true - readOnly: true - contractor_payments: + errors: type: array - uniqueItems: false - description: The individual contractor payments, within a given time period, grouped by contractor. items: type: object - description: '' + required: + - error_key + - category properties: - contractor_uuid: - type: number - description: The UUID of the contractor. - readOnly: true - reimbursement_total: + error_key: type: string - format: float - description: The total reimbursements for the contractor within a given time period. - readOnly: true - wage_total: + description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + category: type: string - format: float - description: The total wages for the contractor within a given time period. - readOnly: true - payments: - type: array - uniqueItems: false - description: The contractor's payments within a given time period. - items: - "$ref": "#/components/schemas/Contractor-Payment" - readOnly: true - readOnly: true - x-tags: - - Contractor Payments - Contractor-Payment-Summary-By-Dates: - description: The representation of the summary of contractor payments for a given company in a given time period. - type: object + description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. + message: + type: string + description: Provides details about the error - generally this message can be surfaced to an end user. x-examples: - success_status: - total: - reimbursements: '110.0' - wages: '1840.0' - contractor_payments: - - check_date: '2020-10-19' - reimbursement_total: '110.0' - wage_total: '1840.0' - payments: - - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '100.0' - date: '2020-10-19' - hours: '0.00' - payment_method: Direct Deposit - reimbursement: '10.0' - hourly_rate: '0.0' - wage: '1000.0' - wage_type: Fixed - wage_total: '1100.0' + not_found: + errors: + - error_key: request + category: not_found + message: The requested resource was not found. + deprecated_accept_terms_of_service: + errors: + - error_key: request + category: deprecated_endpoint + message: The requested endpoint is no longer supported in the requested API version. Use POST /v1/partner_managed_companies/:company_uuid/terms_of_service instead + deprecated_retrieve_terms_of_service: + errors: + - error_key: request + category: deprecated_endpoint + message: The requested endpoint is no longer supported in the requested API version. Use PUT /v1/partner_managed_companies/:company_uuid/terms_of_service instead + Conflict-Error-Object: + description: "Conflict\n \nThis error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry." + type: object + required: + - errors properties: - total: - type: object - description: The wage and reimbursement totals for all contractor payments within a given time period. - properties: - reimbursements: - type: string - format: float - description: The total reimbursements for contractor payments within a given time period. - readOnly: true - wages: - type: string - format: float - description: The total wages for contractor payments within a given time period. - readOnly: true - readOnly: true - contractor_payments: + errors: type: array - uniqueItems: false - description: The individual contractor payments, within a given time period, grouped by check date. items: type: object - description: '' + required: + - error_key + - category properties: - contractor_uuid: - type: string - description: The UUID of the contractor. - readOnly: true - check_date: + error_key: type: string - description: The payment check date. - readOnly: true - reimbursement_total: + description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + category: type: string - format: float - description: The total reimbursements for the contractor within a given time period. - readOnly: true - wage_total: + description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. + message: type: string - format: float - description: The total wages for the contractor within a given time period. - readOnly: true - payments: - type: array - uniqueItems: false - description: The contractor's payments within a given time period. - items: - "$ref": "#/components/schemas/Contractor-Payment" - readOnly: true - readOnly: true - readOnly: true - x-tags: - - Contractor Payments - Contractor-Payment-Method: - title: Contractor-Payment-Method - type: object + description: Provides details about the error - generally this message can be surfaced to an end user. x-examples: - check_method: - version: 63859768485e218ccf8a449bb60f14ed - type: Check - split_by: - splits: - Example-1: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 100 - Example-2: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Check - description: '' - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - type: - anyOf: - - type: string - enum: - - Direct Deposit - - Check - - type: 'null' - description: The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. - split_by: - anyOf: - - type: string - enum: - - Amount - - Percentage - - type: 'null' - description: Describes how the payment will be split. If `split_by` is Percentage, then the `split` amounts must add up to exactly 100. If `split_by` is Amount, then values are in cents and the last split amount must be `null` to capture the remainder. - splits: - type: - - array - - 'null' - items: - "$ref": "#/components/schemas/Payment-Method-Bank-Account" - x-tags: - - Contractor Payment Method - Payment-Method-Bank-Account: - type: object - description: Representation of a bank account item - properties: - uuid: - type: string - description: The bank account ID - name: - type: string - description: The bank account name - hidden_account_number: - type: string - description: Masked bank account number - priority: - type: integer - description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. - split_amount: - description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). - type: - - integer - - 'null' - required: - - uuid + invalid_version: + errors: + - error_key: base + category: invalid_resource_version + message: You are attempting to update a resource using an out-of-date version. Unprocessable-Entity-Error-Object: description: "Unprocessable Entity\n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" type: object @@ -14244,16 +649,29 @@ components: - error_key: base category: invalid_operation message: There are no hours to sync to payroll for the selected pay period. - migrate_company_invalid_ip: + payroll_update_payroll_item_validation_error: errors: - - error_key: ip_address - category: invalid_attribute_value - message: A valid user's IP Address is required in order to accept terms of service. - migrate_company_invalid_signatory: + - error_key: employee_compensations + category: nested_errors + errors: + - error_key: payment_method + category: invalid_attribute_value + message: Payment method cannot be changed for check-only payrolls. All employees must be paid by check. + payroll_update_recurring_reimbursement_error: errors: - - error_key: email - category: invalid_attribute_value - message: A valid signatory email is required to perform this operation. + - error_key: employee_compensations + category: nested_errors + errors: + - error_key: reimbursements + category: invalid_attribute_value + message: Cannot update recurring reimbursements through payroll updates. Update the recurring reimbursement directly. + migrate_company_terms_of_service: + errors: + - error_key: base + category: migration_blocker + message: Terms of service must be accepted by a company payroll admin. + metadata: + key: terms_of_service migrate_company_already_migrated: errors: - error_key: base @@ -14347,28 +765,7 @@ components: errors: - error_key: base category: invalid_operation - message: There is an error in the request body. - nyc_withholding_allowance_required: - errors: - - error_key: states - category: nested_errors - errors: - - error_key: questions - category: nested_errors - metadata: - state: NY - errors: - - error_key: answers - category: nested_errors - metadata: - key: total_allowances_nyc - errors: - - error_key: value - category: invalid_attribute_value - message: NYC Withholding Allowance is required for employees who live in New York City - metadata: - valid_from: '2010-01-01' - valid_up_to: + message: There is an error in the request body. pay_schedule_missing_anchor_dates: errors: - error_key: anchor_pay_date @@ -14574,6 +971,24 @@ components: - error_key: base category: invalid_resource_version message: You are attempting to update a resource using an out-of-date version. + payroll_update_stale_employee_compensation_version: + errors: + - error_key: base + category: invalid_resource_version + message: Supplied Version (stale-version) is invalid. + metadata: + entity_type: Employee + entity_uuid: a8e9d2c6-1f3b-4d5a-9c8e-7f0b2d4c6e8a + employee_create_self_onboarding_missing_email: + errors: + - error_key: email + category: invalid_attribute_value + message: Email is required to invite the employee to self-onboard + employee_benefit_simple_ira_elective_mismatch: + errors: + - error_key: elective + category: invalid_attribute_value + message: Elective must be true for matching Simple IRA benefits signatory_email_required: errors: - error_key: email @@ -14702,6 +1117,26 @@ components: - error_key: is_active category: invalid_attribute_value message: Cannot reactivate while a rehire is scheduled. Use the cancel rehire endpoint to remove the pending rehire first. + contractor_rehire_start_date_required: + errors: + - error_key: start_date + category: invalid_attribute_value + message: Start date is required + contractor_rehire_no_pending: + errors: + - error_key: base + category: invalid_operation + message: No pending rehire to cancel + contractor_termination_end_date_required: + errors: + - error_key: end_date + category: invalid_attribute_value + message: End date is required + contractor_termination_no_pending_dismissal: + errors: + - error_key: base + category: invalid_operation + message: No pending dismissal to cancel contractor_address_invalid_attribute: errors: - error_key: street_1 @@ -15210,7705 +1645,12842 @@ components: - error_key: tax_id category: invalid_attribute_value message: Tax liability selections are not valid + x-speakeasy-name-override: UnprocessableEntityError Entity-Error-Object: type: object required: - - error_key - - category + - error_key + - category + properties: + error_key: + type: string + description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + category: + type: string + description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. If category is `nested_errors`, the object will contain a nested `errors` property with entity errors. + message: + type: string + description: Provides details about the error - generally this message can be surfaced to an end user. + metadata: + type: object + description: Contains relevant data to identify the resource in question when applicable. For example, to identify an entity `entity_type` and `entity_uuid` will be provided. + oneOf: + - "$ref": "#/components/schemas/Metadata-With-Multiple-Entities" + - "$ref": "#/components/schemas/Metadata-With-One-Entity" + errors: + type: array + description: Will only exist if category is `nested_errors`. It is possible to have multiple levels of nested errors. + items: + "$ref": "#/components/schemas/Entity-Error-Object" + Metadata-With-One-Entity: + type: object + description: single entity + additionalProperties: true + properties: + entity_type: + type: string + description: Name of the entity that the error corresponds to. + entity_uuid: + type: string + description: Unique identifier for the entity. + valid_from: + type: + - string + - 'null' + valid_up_to: + type: + - string + - 'null' + key: + type: + - string + - 'null' + state: + type: + - string + - 'null' + Metadata-With-Multiple-Entities: + type: object + description: multiple entities + required: + - entities + properties: + entities: + type: array + items: + "$ref": "#/components/schemas/Metadata-With-One-Entity" + Employee: + title: Employee + type: object + description: The representation of an employee in Gusto. + x-examples: + success_status: + uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + first_name: Boaty + middle_initial: + last_name: Koss + email: keena.feest@kiehn.co.uk + company_uuid: e904cc79-818a-4da8-9d37-0be0a86fdda8 + manager_uuid: + version: a5cec1f1c0135feb3e76ca6ea3c46176 + current_employment_status: full_time + onboarding_status: onboarding_completed + preferred_first_name: + department_uuid: + employee_code: 46f036 + payment_method: Direct Deposit + department: + terminated: false + two_percent_shareholder: false + onboarded: true + historical: false + has_ssn: true + onboarding_documents_config: + uuid: + i9_document: false + jobs: + - uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + version: 863bcd01c51fcfa2468d604cffec7413 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + current_compensation_uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + payment_unit: Year + primary: true + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + title: '' + compensations: + - uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + version: db7bfb49a4f0893432cb562311bfcad9 + payment_unit: Year + flsa_status: Exempt + adjust_for_minimum_wage: false + minimum_wages: [] + job_uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + effective_date: '2025-06-09' + rate: '80000.00' + rate: '80000.00' + hire_date: '2024-06-09' + eligible_paid_time_off: [] + terminations: [] + garnishments: [] + date_of_birth: '2005-06-09' + ssn: '' + phone: + work_email: + member_portal_invitation_status: + status: sent + token_expired: false + welcome_email_sent_at: '2024-01-15T14:30:00Z' + last_password_resent_at: + partner_portal_invitation_sent: true + properties: + uuid: + type: string + description: The UUID of the employee in Gusto. + readOnly: true + first_name: + type: string + middle_initial: + type: + - string + - 'null' + last_name: + type: string + email: + type: + - string + - 'null' + description: The personal email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). + company_uuid: + type: string + description: The UUID of the company the employee is employed by. + readOnly: true + manager_uuid: + type: + - string + - 'null' + description: The UUID of the employee's manager. + readOnly: true + version: + type: string + description: The current version of the employee. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + readOnly: true + department: + type: + - string + - 'null' + description: The employee's department in the company. + readOnly: true + terminated: + type: boolean + description: Whether the employee is terminated. + readOnly: true + two_percent_shareholder: + type: + - boolean + - 'null' + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + work_email: + type: + - string + - 'null' + description: The work email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). + onboarded: + type: boolean + description: Whether the employee has completed onboarding. + readOnly: true + onboarding_status: + description: The current onboarding status of the employee + anyOf: + - type: string + enum: + - onboarding_completed + - admin_onboarding_incomplete + - self_onboarding_pending_invite + - self_onboarding_invited + - self_onboarding_invited_started + - self_onboarding_invited_overdue + - self_onboarding_completed_by_employee + - self_onboarding_awaiting_admin_review + - type: 'null' + readOnly: true + onboarding_documents_config: + type: object + description: Configuration for an employee onboarding documents during onboarding + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the onboarding documents config + readOnly: true + i9_document: + type: boolean + description: Whether to include Form I-9 for an employee during onboarding + readOnly: true + jobs: + type: array + items: + "$ref": "#/components/schemas/Job" + eligible_paid_time_off: + type: array + items: + "$ref": "#/components/schemas/Paid-Time-Off" + terminations: + type: array + items: + "$ref": "#/components/schemas/Termination" + garnishments: + type: array + items: + "$ref": "#/components/schemas/Garnishment" + custom_fields: + type: array + description: Custom fields are only included for the employee if the include param has the custom_fields value set + items: + "$ref": "#/components/schemas/Employee-Custom-Field" + date_of_birth: + type: + - string + - 'null' + readOnly: true + has_ssn: + type: boolean + description: Indicates whether the employee has an SSN in Gusto. + ssn: + type: string + description: Deprecated. This field always returns an empty string. + phone: + type: + - string + - 'null' + preferred_first_name: + type: + - string + - 'null' + description: '' + payment_method: + type: string + description: The employee's payment method + enum: + - Direct Deposit + - Check + default: Check + nullable: false + current_employment_status: + anyOf: + - type: string + enum: + - full_time + - part_time_under_twenty_hours + - part_time_twenty_plus_hours + - variable + - seasonal + - type: 'null' + description: 'The current employment status of the employee. Full-time employees work 30+ hours per week. Part-time employees are split into two groups: those that work 20-29 hours a week, and those that work under 20 hours a week. Variable employees have hours that vary each week. Seasonal employees are hired for 6 months of the year or less.' + readOnly: true + historical: + type: boolean + nullable: false + employee_code: + type: string + description: The short format code of the employee + nullable: false + readOnly: true + department_uuid: + type: + - string + - 'null' + description: The UUID of the department the employee is under + title: + type: string + nullable: false + hired_at: + type: string + nullable: false + format: date + description: The date when the employee was hired to the company + hidden_ssn: + type: string + nullable: false + flsa_status: + "$ref": "#/components/schemas/Flsa-Status-Type" + applicable_tax_ids: + type: array + nullable: false + items: + type: number + member_portal_invitation_status: + type: + - object + - 'null' + description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. + properties: + status: + type: string + description: The current status of the member portal invitation. + enum: + - pending + - sent + - verified + - complete + - cancelled + token_expired: + type: + - boolean + - 'null' + description: Whether the invitation token has expired. + welcome_email_sent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the welcome email was sent. + last_password_resent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the password reset was last resent. + partner_portal_invitation_sent: + type: + - boolean + - 'null' + description: Whether an external partner portal invitation webhook has been sent for this employee. Only included when the include param has the portal_invitations value set. + required: + - uuid + - first_name + - last_name + readOnly: true + Job: + title: Job + type: object + properties: + uuid: + type: string + description: The UUID of the job. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee to which the job belongs. + readOnly: true + hire_date: + type: string + readOnly: false + description: The date when the employee was hired or rehired for the job. + title: + type: + - string + - 'null' + readOnly: false + default: + description: The title for the job. + primary: + type: boolean + description: Whether this is the employee's primary job. The value will be set to true unless an existing job exists for the employee. + readOnly: true + rate: + type: string + description: The employee's pay rate for this job (e.g., hourly wage or annual salary). This is sensitive compensation data and requires the `compensations:read` scope. + readOnly: true + payment_unit: + type: + - string + - 'null' + description: How the employee is paid for this job (e.g., Hour, Week, Month, Year, Paycheck). This is sensitive compensation data and requires the `compensations:read` scope. + readOnly: true + current_compensation_uuid: + type: string + description: The UUID of the current active compensation record for this job. Requires the `compensations:read` scope. + readOnly: true + two_percent_shareholder: + type: boolean + description: Whether the employee owns at least 2% of the company. + readOnly: false + state_wc_covered: + type: + - boolean + - 'null' + description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). + readOnly: false + state_wc_class_code: + type: + - string + - 'null' + description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. + readOnly: false + compensations: + type: array + description: The compensation history for this job, including pay rate, payment unit, FLSA status, and effective dates. This is sensitive pay information and requires the `compensations:read` scope. + items: + "$ref": "#/components/schemas/Compensation" + readOnly: true + location_uuid: + type: string + nullable: false + description: The uuid of the employee's work location. + location: + "$ref": "#/components/schemas/Location" + description: The representation of a job in Gusto. + required: + - uuid + x-examples: + example: + uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 + version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + hire_date: '2020-01-20' + title: Account Director + primary: true + rate: '78000.00' + payment_unit: Year + current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + compensations: + - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a + version: 98jr3289h3298hr9329gf9egskt3tjaj + job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + rate: '78000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2020-01-20' + adjust_for_minimum_wage: false + minimum_wages: [] + secondary_job: + uuid: a1b2c3d4-5678-9012-abcd-ef1234567890 + version: hj29fh3298hf9832hf98h32f89h32f89h32f9832 + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + hire_date: '2020-01-20' + title: Senior Consultant + primary: false + rate: '25.00' + payment_unit: Hour + current_compensation_uuid: b2c3d4e5-6789-0123-bcde-f12345678901 + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + compensations: + - uuid: b2c3d4e5-6789-0123-bcde-f12345678901 + version: 93jr2398h23r9832rg9832rg98ewrg98e + job_uuid: a1b2c3d4-5678-9012-abcd-ef1234567890 + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + rate: '25.00' + payment_unit: Hour + flsa_status: Nonexempt + effective_date: '2020-01-20' + adjust_for_minimum_wage: false + minimum_wages: [] + Jobs-Body: + type: object + properties: + title: + type: + - string + - 'null' + description: The job title. + example: Regional Manager + hire_date: + type: string + description: The date when the employee was hired or rehired for the job. + example: '2020-12-21' + two_percent_shareholder: + type: boolean + description: Whether the employee owns at least 2% of the company. + state_wc_covered: + type: + - boolean + - 'null' + description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). + state_wc_class_code: + type: + - string + - 'null' + description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. + Jobs-Create-Request-Body: + description: Request body for creating a job. + type: object + required: + - title + - hire_date + allOf: + - "$ref": "#/components/schemas/Jobs-Body" + x-examples: + create_job: + title: Regional Manager + hire_date: '2020-12-21' + two_percent_shareholder: false + Jobs-Update-Request-Body: + description: Request body for updating a job. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Jobs-Body" + x-examples: + update_job: + version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir + title: Regional Manager + hire_date: '2020-12-21' + Compensation: + type: object + description: The representation of compensation in Gusto. + properties: + uuid: + type: string + description: The UUID of the compensation in Gusto. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + job_uuid: + type: string + description: The UUID of the job to which the compensation belongs. + readOnly: true + employee_uuid: + type: string + description: The UUID of the employee to which the compensation belongs. + readOnly: true + rate: + type: string + readOnly: false + description: The dollar amount paid per payment unit. + payment_unit: + type: string + readOnly: false + description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. + enum: + - Hour + - Week + - Month + - Year + - Paycheck + flsa_status: + "$ref": "#/components/schemas/Flsa-Status-Type" + title: + type: string + description: The job title for this compensation. + effective_date: + type: string + readOnly: false + description: The effective date for this compensation. For the first compensation, this defaults to the job's hire date. + adjust_for_minimum_wage: + type: boolean + description: Indicates if the compensation could be adjusted to minimum wage during payroll calculation. + readOnly: true + minimum_wages: + type: array + readOnly: false + description: The minimum wages associated with the compensation. + items: + type: object + properties: + uuid: + type: string + description: The UUID of the minimum wage. + wage: + type: string + description: The wage amount. + effective_date: + type: string + description: The effective date of the minimum wage. + required: + - uuid + x-examples: + success_status: + uuid: db4d41e5-813c-477e-bfae-38da2ae5e7a3 + version: 56d00c178bc7393b2a206ed6a86afcb4 + job_uuid: c1fdb417-c34a-43a7-92f3-5e6c20c1d7a4 + employee_uuid: a7e8f9bc-0d12-4e56-b789-012345678901 + rate: '70000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2023-01-01' + adjust_for_minimum_wage: false + minimum_wages: [] + title: Software Engineer + hourly_compensation: + uuid: e5f6a7b8-c9d0-1234-e5f6-a7b8c9d01234 + version: 98b7a6c5d4e3f2a1b0c9d8e7f6a5b4c3 + job_uuid: d2e5f8a1-b4c7-4d90-a3e6-f9b2c5d8e1a4 + employee_uuid: b8f9a0bc-1e23-4f67-c890-123456789012 + rate: '25.00' + payment_unit: Hour + flsa_status: Nonexempt + effective_date: '2023-01-01' + adjust_for_minimum_wage: false + minimum_wages: [] + title: Associate + minimum_wage_adjusted: + uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a + version: cc59bd3879d655fb940a1f6b675f2ad9 + job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 + rate: '5.00' + payment_unit: Hour + flsa_status: Nonexempt + effective_date: '2018-12-11' + adjust_for_minimum_wage: true + minimum_wages: + - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 + wage: '7.25' + effective_date: '2018-12-11' + Compensations-Body: + type: object + properties: + rate: + type: string + description: The dollar amount paid per payment unit. + example: '70000.00' + payment_unit: + type: string + description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. + enum: + - Hour + - Week + - Month + - Year + - Paycheck + example: Year + flsa_status: + "$ref": "#/components/schemas/Flsa-Status-Type" + effective_date: + type: string + description: The effective date for this compensation. + example: '2023-01-01' + title: + type: string + description: The job title for this compensation. + example: Software Engineer + adjust_for_minimum_wage: + type: boolean + description: Whether the compensation should be adjusted to minimum wage during payroll calculation. + minimum_wages: + type: array + items: + type: object + properties: + uuid: + type: string + description: The UUID of the minimum wage. + Compensations-Request-Body: + description: Request body for creating a compensation. + type: object + required: + - rate + - payment_unit + - flsa_status + allOf: + - "$ref": "#/components/schemas/Compensations-Body" + x-examples: + create_compensation: + rate: '70000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2023-01-01' + title: Software Engineer + Compensations-Update-Request-Body: + description: Request body for updating a compensation. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Compensations-Body" + x-examples: + update_compensation: + version: b48c46abfed1487b873b442334b3c4ff + rate: '75000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2023-01-01' + title: Senior Engineer + Paid-Time-Off: + type: object + description: The representation of paid time off in Gusto. + properties: + name: + description: The name of the paid time off type. + anyOf: + - type: string + enum: + - Vacation Hours + - Sick Hours + - Holiday Hours + - type: 'null' + readOnly: true + policy_name: + type: + - string + - 'null' + description: The name of the time off policy. + readOnly: true + policy_uuid: + type: + - string + - 'null' + description: The UUID of the time off policy. + readOnly: true + accrual_unit: + type: + - string + - 'null' + example: Hour + description: The unit the PTO type is accrued in. + readOnly: true + accrual_rate: + type: + - string + - 'null' + description: The number of accrual units accrued per accrual period. + readOnly: true + accrual_method: + type: + - string + - 'null' + example: unlimited + description: The accrual method of the time off policy + readOnly: true + accrual_period: + type: + - string + - 'null' + example: Year + description: The frequency at which the PTO type is accrued. + readOnly: true + accrual_balance: + type: + - string + - 'null' + description: The number of accrual units accrued. + readOnly: true + maximum_accrual_balance: + type: + - string + - 'null' + description: The maximum number of accrual units allowed. A null value signifies no maximum. + readOnly: true + paid_at_termination: + type: boolean + description: Whether the accrual balance is paid to the employee upon termination. + readOnly: true + Termination: + type: object + description: The representation of a termination in Gusto. + properties: + uuid: + type: string + description: The UUID of the termination object. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee to which this termination is attached. + readOnly: true + active: + type: boolean + description: Whether the employee's termination has gone into effect. + readOnly: true + cancelable: + type: boolean + description: Whether the employee's termination is cancelable. Cancelable is true if `run_termination_payroll` is false and `effective_date` is in the future. + readOnly: true + effective_date: + type: string + readOnly: false + description: The employee's last day of work. + run_termination_payroll: + type: boolean + readOnly: false + description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + required: + - uuid + x-examples: + terminated_employee: + uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + version: d487dd0b55dfcacdd920ccbdaeafa351 + active: true + cancelable: false + effective_date: '2024-01-15' + run_termination_payroll: false + cancelable_termination: + uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + version: d487dd0b55dfcacdd920ccbdaeafa351 + active: false + cancelable: true + effective_date: '2024-06-15' + run_termination_payroll: false + Garnishment: + description: Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + type: object + properties: + uuid: + type: string + description: The UUID of the garnishment in Gusto. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee to which this garnishment belongs. + readOnly: true + active: + type: boolean + default: true + description: Whether or not this garnishment is currently active. + amount: + type: string + format: float + readOnly: false + description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". + description: + type: string + readOnly: false + description: The description of the garnishment. + court_ordered: + type: boolean + readOnly: false + description: Whether the garnishment is court ordered. + times: + type: + - integer + - 'null' + readOnly: false + default: + description: The number of times to apply the garnishment. Ignored if recurring is true. + recurring: + type: boolean + readOnly: false + default: false + description: Whether the garnishment should recur indefinitely. + annual_maximum: + format: float + readOnly: false + default: + description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". + type: + - string + - 'null' + total_amount: + type: + - string + - 'null' + format: float + readOnly: false + default: + description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. + pay_period_maximum: + type: + - string + - 'null' + format: float + default: + description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". + deduct_as_percentage: + type: boolean + readOnly: false + default: false + description: Whether the amount should be treated as a percentage to be deducted per pay period. + garnishment_type: + anyOf: + - type: string + enum: + - child_support + - federal_tax_lien + - state_tax_lien + - student_loan + - creditor_garnishment + - federal_loan + - other_garnishment + - type: 'null' + description: The specific type of garnishment for court ordered garnishments. + child_support: + "$ref": "#/components/schemas/Garnishment-Child-Support" + required: + - uuid + x-examples: + Example: + uuid: 4c7841a2-1363-497e-bc0f-664703c7484f + version: 52b7c567242cb7452e89ba2bc02cb476 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '8.00' + description: Company loan to employee + court_ordered: false + times: 5 + recurring: false + annual_maximum: + total_amount: + pay_period_maximum: '100.00' + deduct_as_percentage: true + garnishment_type: + child_support: + Create-Example: + uuid: 4c7841a2-1363-497e-bc0f-664703c7484f + version: 52b7c567242cb7452e89ba2bc02cb476 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '150.00' + description: Back taxes + court_ordered: true + times: + recurring: true + annual_maximum: + total_amount: + pay_period_maximum: + deduct_as_percentage: false + garnishment_type: + child_support: + Child-Support-Example: + uuid: 4c7841a2-1363-497e-bc0f-664703c7481a + version: 52b7c567242cb7452e89ba2bc02cb383 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '40.00' + description: Child support - AZ28319 + court_ordered: true + times: + recurring: true + annual_maximum: + total_amount: + pay_period_maximum: '400.00' + deduct_as_percentage: true + garnishment_type: child_support + child_support: + state: AZ + payment_period: Monthly + case_number: AZ28319 + order_number: + remittance_number: + fips_code: '04000' + Garnishment-List: + - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f + version: 52b7c567242cb7452e89ba2bc02cb476 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '8.00' + description: Company loan to employee + court_ordered: false + times: 5 + recurring: false + annual_maximum: + total_amount: + pay_period_maximum: '100.00' + deduct_as_percentage: true + garnishment_type: + child_support: + - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a + version: 52b7c567242cb7452e89ba2bc02cb383 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '40.00' + description: Child support - AZ28319 + court_ordered: true + times: + recurring: true + annual_maximum: + total_amount: + pay_period_maximum: '400.00' + deduct_as_percentage: true + garnishment_type: child_support + child_support: + state: AZ + payment_period: Monthly + case_number: AZ28319 + order_number: + remittance_number: + fips_code: '04000' + Garnishment-Request-Base: + type: object + description: Shared request body properties for creating or updating a garnishment. + properties: + active: + type: boolean + default: true + description: Whether or not this garnishment is currently active. + amount: + type: string + format: float + readOnly: false + description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". + description: + type: string + readOnly: false + description: The description of the garnishment. + court_ordered: + type: boolean + readOnly: false + description: Whether the garnishment is court ordered. + garnishment_type: + description: The specific type of garnishment for court ordered garnishments. + anyOf: + - type: string + enum: + - child_support + - federal_tax_lien + - state_tax_lien + - student_loan + - creditor_garnishment + - federal_loan + - other_garnishment + - type: 'null' + readOnly: false + times: + type: + - integer + - 'null' + readOnly: false + default: + description: The number of times to apply the garnishment. Ignored if recurring is true. + recurring: + type: boolean + readOnly: false + default: false + description: Whether the garnishment should recur indefinitely. + annual_maximum: + format: float + readOnly: false + default: + type: + - string + - 'null' + description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". + pay_period_maximum: + type: + - string + - 'null' + format: float + default: + description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". + deduct_as_percentage: + type: boolean + readOnly: false + default: false + description: Whether the amount should be treated as a percentage to be deducted per pay period. + total_amount: + type: + - string + - 'null' + format: float + readOnly: false + description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. + child_support: + "$ref": "#/components/schemas/Garnishment-Child-Support" + x-examples: + Example: + amount: '50.00' + annual_maximum: '2500.09' + recurring: true + Deactivate-Example: + active: false + Child-Support-Example: + amount: '40' + child_support: + case_number: ZZZ999 + Garnishment-Request: + description: Request body for creating a garnishment. + allOf: + - "$ref": "#/components/schemas/Garnishment-Request-Base" + - type: object + required: + - amount + - court_ordered + x-examples: + Example: + amount: '150.00' + description: Back taxes + court_ordered: true + recurring: true + deduct_as_percentage: false + Child-Support-Example: + court_ordered: true + garnishment_type: child_support + amount: '40' + recurring: true + deduct_as_percentage: true + pay_period_maximum: '500.00' + child_support: + state: FL + fips_code: '12011' + payment_period: Monthly + case_number: CS1234 + Update-Garnishment-Request: + description: Request body for updating a garnishment. + allOf: + - "$ref": "#/components/schemas/Garnishment-Request-Base" + - "$ref": "#/components/schemas/Versionable-Required" + Garnishment-Child-Support: + description: Additional child support order details + type: + - object + - 'null' + properties: + state: + type: string + readOnly: false + description: The two letter state abbreviation for the state issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. + payment_period: + type: string + readOnly: false + enum: + - Every week + - Every other week + - Twice per month + - Monthly + description: How often the agency collects the withholding amount. e.g. $500 monthly -> `Monthly`. + fips_code: + type: string + description: The FIPS code associated with the state or county agency issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. + nullable: false + readOnly: false + case_number: + type: + - string + - 'null' + readOnly: false + description: Child Support Enforcement Case Number associated with this child support obligation - required for most states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. + order_number: + type: + - string + - 'null' + readOnly: false + description: Order Identifier or Order ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. + remittance_number: + type: + - string + - 'null' + readOnly: false + description: Child Support Enforcement Remittance ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. + Employee-Custom-Field: + type: object + description: A custom field of an employee + properties: + id: + type: string + company_custom_field_id: + type: string + description: This is the id of the response object from when you get the company custom fields + name: + type: string + type: + "$ref": "#/components/schemas/Custom-Field-Type" + description: + type: + - string + - 'null' + value: + type: string + selection_options: + type: + - array + - 'null' + description: An array of options for fields of type radio. Otherwise, null. + items: + type: string + required: + - id + - company_custom_field_id + - name + - type + - value + x-examples: + example_text_field: + id: ee515986-f3ca-49da-b576-2691b95262f9 + company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 + name: employee_level + description: Employee Level + type: text + value: '2' + selection_options: + example_radio_field: + id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 + company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 + name: favorite fruit + description: Which is your favorite fruit? + type: radio + value: apple + selection_options: + - apple + - banana + - orange + Employee-Custom-Field-List: + type: object + description: A list of an employee's custom fields + properties: + custom_fields: + type: array + items: + "$ref": "#/components/schemas/Employee-Custom-Field" + x-examples: + example: + custom_fields: + - id: ee515986-f3ca-49da-b576-2691b95262f9 + company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 + name: employee_level + description: Employee Level + type: text + value: '2' + selection_options: + - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 + company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 + name: favorite fruit + description: Which is your favorite fruit? + type: radio + value: apple + selection_options: + - apple + - banana + - orange + Custom-Field-Type: + type: string + description: Input type for the custom field. + enum: + - text + - currency + - number + - date + - radio + Employment-History-List: + type: array + x-examples: + success_status: + - hire_date: '2015-06-09' + termination_date: '2025-05-09' + file_new_hire_report: false + two_percent_shareholder: false + employment_status: full_time + items: + description: The representation of an employee's individual employements. + type: object + properties: + hire_date: + type: string + description: The employee's start day of work for an employment. + termination_date: + type: + - string + - 'null' + description: The employee's last day of work for an employment. + file_new_hire_report: + type: boolean + description: The boolean flag indicating whether Gusto will file a new hire report for the employee. + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + employment_status: + type: string + description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. + enum: + - part_time + - full_time + - part_time_eligible + - variable + - seasonal - not_set + Employee-Onboarding-Status: + description: The representation of an employee's onboarding status. + type: object + title: Employee-Onboarding-Status + x-examples: + success_status: + uuid: 8351cf2a-17cb-49e3-94a7-9986dcb11e84 + onboarding_status: onboarding_completed + onboarding_steps: + - title: Personal details + id: personal_details + required: true + completed: true + requirements: [] + - title: Enter compensation details + id: compensation_details + required: true + completed: true + requirements: [] + - title: Add work address + id: add_work_address + required: true + completed: true + requirements: [] + - title: Add home address + id: add_home_address + required: true + completed: true + requirements: [] + - title: Enter federal tax withholdings + id: federal_tax_setup + required: true + completed: true + requirements: [] + - title: Enter state tax information + id: state_tax_setup + required: true + completed: false + requirements: + - add_work_address + - add_home_address + - title: Direct deposit setup + id: direct_deposit_setup + required: false + completed: true + requirements: [] + - title: Employee form signing + id: employee_form_signing + required: true + completed: false + requirements: + - federal_tax_setup + - state_tax_setup + - title: File new hire report + id: file_new_hire_report + required: true + completed: false + requirements: + - add_work_address + blockers: [] + properties: + uuid: + type: string + description: Unique identifier for this employee. + onboarding_status: + type: string + description: One of the "onboarding_status" enum values. + onboarding_steps: + type: array + description: List of steps required to onboard an employee. + items: + title: Onboarding step + type: object + properties: + title: + type: string + description: User-friendly description of the onboarding step. + id: + type: string + description: String identifier for the onboarding step. + required: + type: boolean + description: When true, this step is required. + completed: + type: boolean + description: When true, this step has been completed. + requirements: + type: array + description: A list of onboarding steps required to begin this step. + items: + type: string + blockers: + type: array + description: | + Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message. + + Supported categories: + + - `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict. + + This list may grow over time as new validation rules are added. + items: + type: object + properties: + field: + type: string + enum: + - ssn + description: The employee field affected. + category: + type: string + enum: + - duplicate_value + description: Category of the blocker. See the array-level description for resolution guidance. + message: + type: string + description: Human-readable description of the blocker. + required: + - uuid + Flsa-Status-Type: + type: string + enum: + - Exempt + - Salaried Nonexempt + - Nonexempt + - Owner + - Commission Only Exempt + - Commission Only Nonexempt + description: 'The FLSA status for this compensation. Salaried (''Exempt'') employees are paid a fixed salary every pay period. Salaried with overtime (''Salaried Nonexempt'') employees are paid a fixed salary every pay period, and receive overtime pay when applicable. Hourly (''Nonexempt'') employees are paid for the hours they work, and receive overtime pay when applicable. Commissioned employees (''Commission Only Exempt'') earn wages based only on commission. Commissioned with overtime (''Commission Only Nonexempt'') earn wages based on commission, and receive overtime pay when applicable. Owners (''Owner'') are employees that own at least twenty percent of the company. ' + Employee-Pay-Stubs-List: + type: array + x-examples: + success_status: + - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 + check_date: '2023-11-24' + gross_pay: '880.0' + net_pay: '541.02' + payroll_uuid: a039cafb-745e-4af4-bf1e-935a86fc18e0 + check_amount: '500.2' + payment_method: Direct Deposit + items: + description: The representation of an employee pay stub information. + type: object + properties: + uuid: + type: string + description: The UUID of the employee pay stub. + readOnly: true + check_date: + type: string + description: The check date of the pay stub. + readOnly: true + gross_pay: + type: string + description: The gross pay amount for the pay stub. + readOnly: true + net_pay: + type: string + description: The net pay amount for the pay stub. + readOnly: true + payroll_uuid: + type: string + description: A unique identifier of the payroll to which the pay stub belongs. + readOnly: true + check_amount: + type: string + description: The check amount for the pay stub. + readOnly: true + payment_method: + type: string + description: The payment method for the pay stub. + enum: + - Direct Deposit + - Check + readOnly: true + x-tags: + - Payrolls + required: + - uuid + Company-Address: + description: The representation of a company's address in Gusto. + type: object + properties: + street_1: + type: string + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: string + readOnly: false + state: + type: string + readOnly: false + zip: + type: string + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: false + default: USA + inactive: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + Employee-Work-Addresses-List: + type: array + x-examples: + success_status: + - uuid: '080b6254-ce7c-411f-9f7d-5a3ce3c51154' + employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf + location_uuid: 9ccfade8-82ee-490c-8711-5c0787bccde8 + effective_date: '2021-01-01' + active: false + version: 3097e9d0efb09ba2e00a8988a93b3091 + street_1: 91678 Farrell Meadow + street_2: Apt. 835 + city: Phoenix + state: AZ + zip: '85016' + country: USA + - uuid: 35d62f15-75da-45aa-9c97-adc57342b925 + employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf + location_uuid: 10330fe8-36ef-4713-aa59-9f8a432abd13 + effective_date: '2022-01-01' + active: false + version: 5f48ce54afed81bb11dd89461bd0e214 + street_1: 800 Adolfo Gardens + street_2: Suite 419 + city: Bremen + state: AL + zip: '35033' + country: USA + - uuid: 3f3ceaba-6b57-4039-a31a-0004bef83c6f + employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf + location_uuid: 98383e91-c67d-4b69-a617-5a57f91da48c + effective_date: '2023-01-01' + active: true + version: a8a78c851337676137e22caf56ffe5b5 + street_1: 2216 Icie Villages + street_2: Apt. 798 + city: Big Delta + state: AK + zip: '99737' + country: USA + items: + "$ref": "#/components/schemas/Employee-Work-Address" + Employee-Work-Address: + type: object + x-examples: + success_status: + uuid: 64ee5fd7-3eb2-4083-883c-95e93e181cc8 + employee_uuid: d773461f-848a-40a1-8f09-b2ee4249d5c7 + location_uuid: 733ab2af-9510-408f-8d20-09196967174f + effective_date: '2020-01-31' + active: true + version: 3879823d440f3a3215d129ac73c58966 + street_1: 977 Marks Viaduct + street_2: Apt. 958 + city: Pink Hill + state: NC + zip: '28572' + country: USA + properties: + uuid: + type: string + readOnly: true + description: The unique identifier of this work address. + effective_date: + type: string + description: The date the employee began working at this location. + active: + type: boolean + readOnly: true + description: Signifies if this address is the active work address for the current date + location_uuid: + type: string + description: UUID reference to the company location for this work address. + employee_uuid: + type: string + description: UUID reference to the employee for this work address. + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + street_1: + type: string + readOnly: true + street_2: + type: + - string + - 'null' + readOnly: true + city: + type: string + readOnly: true + state: + type: string + readOnly: true + zip: + type: string + readOnly: true + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: true + default: USA + required: + - uuid + - version + Employee-Address-List: + type: array + x-examples: + success_status: + - uuid: d6b7472f-bb55-41ca-a55c-9adbd3c64e09 + version: 7eee445be93fc50fd3cbb55b8d943fb3 + employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd + street_1: 3121 Milky Way + street_2: '' + city: San Francisco + state: CA + zip: '94107' + country: USA + active: false + effective_date: '2024-06-09' + courtesy_withholding: false + - uuid: 1b59a593-d324-4d97-9296-99ecc95f81d1 + version: 5147ad755821c4ba3dbc3afa1055ff4d + employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd + street_1: 3624 Victoria Ln + street_2: '' + city: Cincinnati + state: OH + zip: '45208' + country: USA + active: true + effective_date: '2025-05-26' + courtesy_withholding: false + - uuid: 69489b54-976d-4027-8b51-702e5c8c62d3 + version: f0765fa5a85f62723320763494a481a6 + employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd + street_1: Main st. + street_2: '' + city: New York + state: NY + zip: '10011' + country: USA + active: false + effective_date: '2025-07-09' + courtesy_withholding: false + items: + "$ref": "#/components/schemas/Employee-Address" + Employee-Address: + type: object + x-examples: + success_status: + uuid: 700af712-62ba-4dff-824f-97a3c6fda416 + version: 6c3c23e4cc840bd3f1416f72b5380eff + employee_uuid: 78d20691-f1b4-4f74-bc4c-1d4db0099b00 + street_1: 3121 Milky Way + street_2: '' + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + effective_date: '1970-01-01' + courtesy_withholding: false + properties: + uuid: + type: string + description: The UUID of the employee address + employee_uuid: + type: string + description: The UUID of the employee + effective_date: + type: string + format: date + description: The date the employee started living at the address. + courtesy_withholding: + type: boolean + description: Determines if home taxes should be withheld and paid for employee. + street_1: + type: string + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: string + readOnly: false + state: + type: string + readOnly: false + zip: + type: string + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + required: + - uuid + - version + Employee-Section603-High-Earner-Status-List: + type: array + x-examples: + success_status: + - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + effective_year: 2026 + is_high_earner: false + - id: 550e8400-e29b-41d4-a716-446655440000 + effective_year: 2027 + is_high_earner: true + items: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + Employee-Section603-High-Earner-Status: + type: object + description: The representation of an employee's Section 603 high earner status for a specific year. Section 603 of the SECURE 2.0 Act requires employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold to have their catch-up contributions to pre-tax retirement benefits designated as post-tax contributions. + x-examples: + success_status: + id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + effective_year: 2026 + is_high_earner: false + properties: + id: + type: string + description: The unique identifier of the Section 603 high earner status record + readOnly: true + effective_year: + type: integer + description: The year for which this high earner status applies + readOnly: true + is_high_earner: + type: + - boolean + - 'null' + description: Whether the employee is classified as a high earner for Section 603 purposes. Can be null if the status has not yet been determined. + readOnly: true + required: + - id + - effective_year + - is_high_earner + Employee-Section603-High-Earner-Status-Create-Request: + type: object + description: Request body for creating an employee's Section 603 high earner status + properties: + effective_year: + type: integer + description: The year for which this high earner status applies + example: 2026 + is_high_earner: + type: boolean + description: Whether the employee is classified as a high earner for Section 603 purposes + example: true + required: + - effective_year + - is_high_earner + Employee-Section603-High-Earner-Status-Update-Request: + type: object + description: Request body for updating an employee's Section 603 high earner status + properties: + is_high_earner: + type: boolean + description: Whether the employee is classified as a high earner for Section 603 purposes + example: true + required: + - is_high_earner + Employee-State-Taxes-List: + type: array + x-examples: + success_status: + - uuid: 287d2c61-1d18-4126-8a4a-9cb29bbb6dac + employee_uuid: c963cb99-fe1c-4aa8-9d48-1ad211ad396f + state: CA + file_new_hire_report: false + is_work_state: true + questions: + - is_question_for_admin_only: false + label: Filing Status + description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + +' + key: filing_status + input_question_format: + type: Select + options: + - value: S + label: Single + - value: M + label: Married one income + - value: MD + label: Married dual income + - value: H + label: Head of Household + - value: E + label: Do Not Withhold + answers: + - value: M + valid_from: '2010-01-01' + valid_up_to: + - is_question_for_admin_only: false + label: Withholding Allowance + description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + +' + key: withholding_allowance + input_question_format: + type: Number + answers: + - value: 1 + valid_from: '2010-01-01' + valid_up_to: + - is_question_for_admin_only: false + label: Additional Withholding + description: You can withhold an additional amount of California income taxes here. + key: additional_withholding + input_question_format: + type: Currency + answers: + - value: '0.0' + valid_from: '2010-01-01' + valid_up_to: + - is_question_for_admin_only: true + label: File a New Hire Report? + description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. + key: file_new_hire_report + input_question_format: + type: Select + options: + - value: true + label: Yes, file the state new hire report for me. + - value: false + label: No, I have already filed. + answers: + - value: false + valid_from: '2010-01-01' + valid_up_to: + items: + type: object + properties: + uuid: + type: string + description: The uuid of the employee state field. + employee_uuid: + type: string + description: The employee's uuid + state: + type: string + description: Two letter US state abbreviation + file_new_hire_report: + type: + - boolean + - 'null' + is_work_state: + type: boolean + questions: + type: array + items: + "$ref": "#/components/schemas/Employee-State-Tax-Question" + required: + - uuid + - employee_uuid + - state + - questions + Employee-State-Tax-Question: + type: object + properties: + label: + type: string + description: A short title for the question + description: + type: + - string + - 'null' + description: An explaination of the question - this may contain inline html formatted links. + key: + type: string + description: A unique identifier of the question (for the given state) - used for updating the answer. + is_question_for_admin_only: + type: boolean + input_question_format: + "$ref": "#/components/schemas/Employee-State-Tax-Input-Question-Format" + answers: + type: array + items: + "$ref": "#/components/schemas/Employee-State-Tax-Answer" + required: + - label + - description + - key + - input_question_format + - answers + - is_question_for_admin_only + Employee-State-Tax-Input-Question-Format: + type: object + properties: + type: + type: string + description: Describes the type of question - Text, Number, Select, Currency, Date + options: + type: array + uniqueItems: true + description: For "Select" type questions, the allowed values and display labels. + items: + type: object + properties: + value: + description: An allowed value to answer the question + oneOf: + - type: string + - type: boolean + - type: number + label: + type: string + description: A display label that corresponds to the answer value + required: + - label + required: + - type + Employee-State-Tax-Answer: + type: object + properties: + value: + oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + description: The answer to the corresponding question - this may be a string, number, boolean, or null. + valid_from: + type: string + description: The effective date of the answer - currently always “2010-01-01”. + valid_up_to: + type: + - string + - 'null' + description: The effective end date of the answer - currently always null. + Employee-State-Taxes-Request: + type: object + properties: + states: + type: array + uniqueItems: true + items: + type: object + properties: + state: + type: string + questions: + type: array + uniqueItems: true + items: + type: object + properties: + key: + type: string + answers: + type: array + uniqueItems: true + items: + type: object + properties: + value: + oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + valid_from: + type: string + valid_up_to: + type: + - string + - 'null' + required: + - value + - valid_from + required: + - key + required: + - state + required: + - states + Employee-Payment-Details-List: + type: array + description: A list of employee payment details. + x-examples: + success_status: + - employee_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + first_name: Soren + last_name: Kierkegaard + payment_method: Direct Deposit + split_by: Percentage + splits: + - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + name: Primary Checking + hidden_account_number: XXXX1207 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + routing_number: '055003201' + account_type: Checking + priority: 1 + split_amount: 100 + - employee_uuid: 6b7e4b51-2e2d-4b54-9f37-7b9d0e9fa5d2 + first_name: Autumn + last_name: Connelly + payment_method: Check + split_by: + splits: + items: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + first_name: + type: string + description: The legal first name of the employee. + readOnly: true + last_name: + type: string + description: The last name of the employee. + readOnly: true + payment_method: + type: string + enum: + - Direct Deposit + - Check + description: The type of payment method. + readOnly: true + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: How the payment is split. This field is applicable when `payment_method` is "Direct Deposit". If `split_by` is Percentage, then the split amounts must add up to exactly 100. If `split_by` is Amount, the last split amount must be `null` to capture the remainder. + readOnly: true + splits: + type: + - array + - 'null' + description: An array of payment splits. This field is applicable when `payment_method` is "Direct Deposit". + items: + type: object + properties: + bank_account_uuid: + type: string + description: The UUID of the bank account. + name: + type: string + description: The name of the bank account. + hidden_account_number: + type: string + description: An obfuscated version of the account number which can be used for display purposes. + encrypted_account_number: + type: + - string + - 'null' + description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the `employee_payment_methods:read:account_number` scope. + routing_number: + type: string + description: The routing number of the bank account. + account_type: + type: string + description: The bank account type (e.g., "Checking" or "Savings"). + priority: + type: integer + description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. + split_amount: + type: + - number + - 'null' + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + readOnly: true + Contractor-Payment-Details-List: + type: array + x-examples: + success_status: + - contractor_uuid: e3d9487a-4ecb-49a3-b6ff-cf03ba7278b6 + first_name: Yael + last_name: Kuvalis + payment_method: Check + split_by: + splits: + - contractor_uuid: 577b6307-66e9-4926-a769-91f5c8b578aa + first_name: Autumn + last_name: Connelly + payment_method: Direct Deposit + split_by: Percentage + splits: + - bank_account_uuid: 0aca4500-8ba4-48fc-adce-677fe7926b7b + name: Cayman Island Checking + hidden_account_number: XXXX1545 + account_number: + encrypted_account_number: + routing_number: '055003201' + priority: 1 + split_amount: 100 + account_type: Checking + items: + type: object + properties: + contractor_uuid: + type: string + payment_method: + type: string + enum: + - Direct Deposit + - Check + first_name: + type: string + last_name: + type: string + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: Describes how the payment will be split. If split_by is Percentage, then the split amounts must add up to exactly 100. If split_by is Amount, then the amount represents cents and the last split amount must be `null` to capture the remainder. + splits: + type: + - array + - 'null' + items: + type: object + properties: + bank_account_uuid: + type: string + name: + type: string + hidden_account_number: + type: string + description: An obfuscated version of the account number which can be used for display purposes. + encrypted_account_number: + type: + - string + - 'null' + description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the `contractor_payment_methods:read:account_number` scope. + routing_number: + type: string + priority: + type: integer + description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. + split_amount: + type: + - number + - 'null' + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + account_type: + type: string + Notifications-List: + type: array + x-examples: + success_status: + - uuid: d053ee2a-a80f-4a61-8bf8-6122c1f954dd + company_uuid: 46c8329d-ebd1-49ba-878c-810b481a34c9 + category: company_setup.missing_mandatory_sick_time_policy + title: Set up a sick time off policy + message: At least one company work location requires businesses to provide a sick time off policy. + actionable: true + can_block_payroll: false + published_at: '2025-06-09T13:42:59.000-07:00' + due_at: + status: open + resources: [] + template_variables: {} + - uuid: 2edd148b-c4c3-4cda-b3e1-72b87399e6c8 + company_uuid: 46c8329d-ebd1-49ba-878c-810b481a34c9 + category: bank_error.compensation_credit_failure + title: Unable to deposit funds to Donn Cormier + message: We were unable to deposit a recent paycheck to Donn’s bank account, so these funds of $100.00 will be returned to Luettgen-Gusikowski’s bank account. Once the funds are received, the payment should be made directly to Donn. + actionable: true + can_block_payroll: false + published_at: '2025-06-09T13:43:00.000-07:00' + due_at: + status: open + resources: + - entity_type: Employee + entity_uuid: 66a27bb8-be5b-42e5-82b8-b2d0044a7f9e + template_variables: + beneficiary_name: Donn Cormier + amount: "$100.00" + company_name: Luettgen-Gusikowski + items: + "$ref": "#/components/schemas/Notification" + Notification: + type: object + properties: + uuid: + type: string + description: Unique identifier of a notification. + company_uuid: + type: string + description: Unique identifier of the company to which the notification belongs. + title: + type: string + description: The title of the notification. This highlights the actionable component of the notification. + message: + type: string + description: The message of the notification. This provides additional context for the user and recommends a specific action to resolve the notification. + status: + type: string + description: Represents the notification's status as managed by our system. It is updated based on observable system events and internal business logic, and does not reflect resolution steps taken outside our system. This field is read-only and cannot be modified via the API. + enum: + - open + - resolved + - expired + category: + type: string + description: The notification's category. + actionable: + type: boolean + description: Indicates whether a notification requires action or not. If false, the notification provides critical information only. + can_block_payroll: + type: boolean + description: Indicates whether a notification may block ability to run payroll. If true, we suggest that these notifications are prioritized to your end users. + published_at: + type: string + description: Timestamp of when the notification was published. + due_at: + type: + - string + - 'null' + description: Timestamp of when the notification is due. If the notification has no due date, this field will be null. + template_variables: + type: object + description: An object containing template variables used to render the notification. The structure of this object depends on the notification category. Each category defines a fixed set of variable names (keys), which are always present. The values of these variables can vary depending on the specific notification instance. + additionalProperties: + type: string + resources: + type: array + description: An array of entities relevant to the notification + items: + type: object + properties: + entity_type: + type: string + description: The type of entity being described. + enum: + - BankAccount + - Contractor + - ContractorPayment + - Employee + - Payroll + - PaySchedule + - RecoveryCase + - Signatory + - Wire In Request + entity_uuid: + type: string + description: Unique identifier of the entity + reference_type: + type: string + description: Optional. The type of a resource that is related to the one described by entity_type and entity_uuid. For instance, if the entity_type is “BankAccount”, the reference_type could be the “Employee” or “Contractor” to whom the bank account belongs. + reference_uuid: + type: string + description: Optional. Unique identifier of the reference. + required: + - entity_type + - entity_uuid + required: + - uuid + - company_uuid + - title + - message + - category + - actionable + - status + - published_at + - due_at + - resources + - can_block_payroll + x-examples: + notification_show: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + company_uuid: 88f7cca1-dcad-4d20-84db-7fb80303d69f + title: 'Action required: Additional information needed to process payroll' + message: If we do not receive this information as soon as possible, your payroll may not be processed on time. + status: open + category: information_request + actionable: true + can_block_payroll: true + published_at: '2022-01-01T00:00:00.000Z' + due_at: '2022-02-01T00:00:00.000Z' + template_variables: + blocked_task: Payroll + resources: + - entity_type: Employee + entity_uuid: 21b6f9ce-0ac4-4745-8d8a-127f8c0f00f2 + Payroll-List: + description: A list of payrolls for a company. + type: array + x-examples: + success_status: + - uuid: 3601a7a2-0562-4e4c-9559-20886658daac + payroll_uuid: 3601a7a2-0562-4e4c-9559-20886658daac + company_uuid: b43e6012-bf6c-4752-b67b-5c8000595e0e + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-08' + initial_check_date: '2025-06-27' + expected_debit_time: '2025-06-12T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-12T23:00:00Z' + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-11' + calculated_at: '2025-06-11T19:40:51Z' + pay_period: + start_date: '2025-05-20' + end_date: '2025-06-04' + pay_schedule_uuid: ded21d08-02d6-41cb-b211-8d8ca02f1c6a + check_date: '2025-06-08' + external: false + payroll_deadline: '2025-06-12T23:00:00Z' + company_taxes: [] + created_at: '2025-06-11T19:40:51Z' + partner_owned_disbursement: + items: + "$ref": "#/components/schemas/Payroll" + Payroll-Update: + type: object + properties: + employee_compensations: + type: array + items: + type: object + description: '' + properties: + employee_uuid: + type: string + description: The UUID of the employee. + version: + type: string + description: The current version of this employee compensation from the prepared payroll. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + excluded: + type: boolean + description: This employee will be excluded from payroll calculation and will not be paid for the payroll. + payment_method: + type: string + description: The employee's compensation payment method. Invalid values will be ignored. + enum: + - Direct Deposit + - Check + memo: + type: string + description: Custom text that will be printed as a personal note to the employee on a paystub. + fixed_compensations: + type: array + items: + type: object + description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. + properties: + name: + type: string + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + amount: + type: string + description: The amount of the compensation for the pay period. + job_uuid: + type: string + description: The UUID of the job for the compensation. + hourly_compensations: + type: array + items: + type: object + description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. + properties: + name: + type: string + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + hours: + type: string + description: The number of hours to be compensated for this pay period. + job_uuid: + type: string + description: The UUIDs of the job for the compensation. + deductions: + type: array + items: + type: object + description: An array of deductions for the employee. + properties: + name: + type: string + description: The name of the deduction. + amount: + type: number + description: The amount of the deduction for the pay period. + amount_type: + type: string + description: The amount type of the deduction for the pay period. + enum: + - fixed + - percent + uuid: + type: string + description: The UUID of the deduction. This parameter is optional and can be provided in order to update an existing deduction. + paid_time_off: + type: array + description: An array of all paid time off the employee is eligible for this pay period. Each paid time off object can be the name or the specific policy_uuid. + items: + type: object + properties: + name: + type: string + description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. Must pass in name or policy_uuid but not both. + hours: + type: string + description: The hours of this PTO taken during the pay period. + policy_uuid: + type: string + description: The uuid of the PTO policy. Must pass in name or policy_uuid but not both. + final_payout_unused_hours_input: + type: + - string + - 'null' + description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. + reimbursements: + type: array + description: An array of reimbursements for the employee. + items: + type: object + properties: + amount: + type: string + description: The dollar amount of the reimbursement for the pay period. + description: + type: string + description: The description of the reimbursement. If not provided, the reimbursement will be unnamed. + uuid: + type: string + description: The UUID of an existing reimbursement. This parameter is optional and can be provided in order to update an existing reimbursement. + withholding_pay_period: + description: The payment schedule tax rate the payroll is based on. Only relevant for off-cycle payrolls. + type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Semiannually + - Annually + skip_regular_deductions: + description: Block regular deductions and contributions for this payroll. Only relevant for off-cycle payrolls. + type: boolean + fixed_withholding_rate: + description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only relevant for off-cycle payrolls. + type: boolean + required: + - employee_compensations + Payroll-Gross-Up-Request: + type: object + description: Request body for calculating gross up amount + properties: + employee_uuid: + type: string + description: The UUID of the employee + net_pay: + type: string + format: float + description: Employee net earnings + required: + - employee_uuid + - net_pay + Payroll-Gross-Up-Response: + type: object + description: Response containing the calculated gross up amount + x-examples: + success_status: + gross_up: '1234.56' + properties: + gross_up: + type: string + format: float + description: Gross up earnings. + Payroll-Calculate-Accruing-Time-Off-Hours-Request: + type: object + description: Request body for calculating accruing time off hours + properties: + regular_hours_worked: + type: + - string + - 'null' + format: float + description: Regular hours worked in this pay period + overtime_hours_worked: + type: + - string + - 'null' + format: float + description: Overtime hours worked in this pay period + double_overtime_hours_worked: + type: + - string + - 'null' + format: float + description: Double overtime hours worked in this pay period + pto_hours_used: + type: + - string + - 'null' + format: float + description: Paid time off hours used in this pay period + sick_hours_used: + type: + - string + - 'null' + format: float + description: Sick hours used in this pay period + Payroll-Calculate-Accruing-Time-Off-Hours-Response: + type: object + description: Response containing the calculated accruing time off hours + x-examples: + success_status: + hours_earned: + - time_off_policy_uuid: 7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f + hours: '3.0' + - time_off_policy_uuid: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d + hours: '20.0' + properties: + hours_earned: + type: array + description: Accruing time off hours earned for each time off policy + items: + type: object + properties: + time_off_policy_uuid: + type: string + description: The UUID of the time off policy + hours: + type: string + format: float + description: Hours accrued during this pay period. + required: + - hours_earned + Payroll: + type: object + x-examples: + success_status: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: [] + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-13' + initial_check_date: '2025-06-13' + expected_debit_time: '2025-06-17T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-17T23:00:00Z' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + totals: + "$ref": "#/components/schemas/Payroll-Totals-Type" + company_taxes: + "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" + payroll_taxes: + "$ref": "#/components/schemas/Payroll-Taxes-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + submission_blockers: + "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" + credit_blockers: + "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Unprocessed-Payroll: + type: object + description: A payroll that has been transitioned back to unprocessed state after cancellation. + x-examples: + success_status: + uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 + employee_compensations: [] + payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 + company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb + off_cycle: false + auto_payroll: false + processed: false + processed_date: + calculated_at: + pay_period: + start_date: '2021-02-01' + end_date: '2021-02-15' + pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 + check_date: '2021-02-22' + external: false + payroll_deadline: '2021-02-18T22:00:00Z' + created_at: '2022-02-01T22:00:00Z' + partner_owned_disbursement: + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Payroll-Partner-Owned-Disbursement-Type: + type: + - boolean + - 'null' + description: Will money movement for the payroll be performed by the partner rather than by Gusto? + Payroll-Deadline-Type: + type: string + format: date-time + description: A timestamp that is the deadline for the payroll to be run in order for employees to be paid on time. If payroll has not been run by the deadline, a prepare request will update both the check date and deadline to reflect the soonest employees can be paid and the deadline by which the payroll must be run in order for said check date to be met. + readOnly: true + Payroll-Check-Date-Type: + type: string + description: The date on which employees will be paid for the payroll. + readOnly: true + Payroll-Processed-Type: + type: boolean + description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. + readOnly: true + Payroll-Processed-Date-Type: + type: + - string + - 'null' + description: The date at which the payroll was processed. Null if the payroll isn't processed yet. + readOnly: true + Payroll-Calculated-At-Type: + type: + - string + - 'null' + format: date-time + description: A timestamp of the last valid payroll calculation. Null if there isn't a valid calculation. + readOnly: true + Payroll-Payroll-Uuid-Type: + type: string + description: The UUID of the payroll. + readOnly: true + Payroll-Company-Uuid-Type: + type: string + description: The UUID of the company for the payroll. + readOnly: true + Payroll-Off-Cycle-Type: + type: boolean + description: Indicates whether the payroll is an off-cycle payroll + readOnly: true + Off-Cycle-Reason-Type: + anyOf: + - type: string + enum: + - Adhoc + - Benefit reversal + - Bonus + - Correction + - Dismissed employee + - Hired employee + - Wage correction + - Tax reconciliation + - Reversal + - Disability insurance distribution + - Transition from old pay schedule + - type: 'null' + description: The off-cycle reason. Only included for off-cycle payrolls. + readOnly: true + Auto-Pilot-Type: + type: boolean + description: Indicates whether the payroll has automatic payroll enabled + readOnly: true + Payroll-External-Type: + type: boolean + description: Indicates whether the payroll is an external payroll + readOnly: true + Payroll-Final-Termination-Payroll-Type: + type: boolean + description: Indicates whether the payroll is the final payroll for a terminated employee. Only included for off-cycle payrolls. + readOnly: true + Payroll-Skip-Regular-Deductions-Type: + type: + - boolean + - 'null' + description: Block regular deductions and contributions for this payroll. Only included for off-cycle payrolls. + readOnly: true + Payroll-Withholding-Pay-Period-Type: + description: The payment schedule tax rate the payroll is based on. Only included for off-cycle payrolls. + readOnly: true + anyOf: + - type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Semiannually + - Annually + - type: 'null' + Payroll-Fixed-Withholding-Rate-Type: + type: + - boolean + - 'null' + description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only included for off-cycle payrolls. + readOnly: true + Payroll-Pay-Period-Type: + type: object + readOnly: true + properties: + start_date: + type: string + description: The start date, inclusive, of the pay period. + readOnly: true + end_date: + type: string + description: The start date, inclusive, of the pay period. + readOnly: true + pay_schedule_uuid: + type: + - string + - 'null' + description: The UUID of the pay schedule for the payroll. + readOnly: true + Payroll-Payroll-Status-Meta-Type: + type: object + description: Information about the payroll's status and expected dates + properties: + cancellable: + type: boolean + description: true if the payroll may be cancelled. + readOnly: true + expected_check_date: + type: string + description: The date an employee will be paid if the payroll is submitted now. + readOnly: true + initial_check_date: + type: + - string + - 'null' + description: The normal check date for the associated pay period. Returns `null` for off-cycle payrolls (not meaningful for off-cycle). + readOnly: true + expected_debit_time: + type: string + description: The time the employer's account will be debited if the payroll is submitted now. + readOnly: true + payroll_late: + type: + - boolean + - 'null' + description: expected_check_date > initial_check_date. Returns `null` for off-cycle payrolls (not meaningful for off-cycle). + readOnly: true + initial_debit_cutoff_time: + type: string + description: Payroll must be submitted at or before this time to avoid late payroll. + readOnly: true + Payroll-Totals-Type: + type: object + description: The subtotals for the payroll. + properties: + company_debit: + type: string + description: The total company debit for the payroll. + readOnly: true + net_pay_debit: + type: string + minLength: 1 + description: The total company net pay for the payroll. + tax_debit: + type: string + description: The total tax debit for the payroll. + readOnly: true + reimbursement_debit: + type: string + description: The total reimbursement debit for the payroll. + readOnly: true + child_support_debit: + type: string + description: The total child support debit for the payroll. + readOnly: true + reimbursements: + type: string + description: The total reimbursements for the payroll. + readOnly: true + net_pay: + type: string + description: The net pay amount for the payroll. + readOnly: true + gross_pay: + type: string + description: The gross pay amount for the payroll. + readOnly: true + employee_bonuses: + type: string + description: The total employee bonuses amount for the payroll. + readOnly: true + employee_commissions: + type: string + description: The total employee commissions amount for the payroll. + readOnly: true + employee_cash_tips: + type: string + description: The total employee cash tips amount for the payroll. + readOnly: true + employee_paycheck_tips: + type: string + description: The total employee paycheck tips amount for the payroll. + readOnly: true + additional_earnings: + type: string + description: The total additional earnings amount for the payroll. + readOnly: true + owners_draw: + type: string + description: The total owner's draw for the payroll. + readOnly: true + check_amount: + type: string + description: The total check amount for the payroll. + readOnly: true + employer_taxes: + type: string + description: The total amount of employer paid taxes for the payroll. + readOnly: true + employee_taxes: + type: string + description: The total amount of employee paid taxes for the payroll. + readOnly: true + benefits: + type: string + description: The total amount of company contributed benefits for the payroll. + readOnly: true + employee_benefits_deductions: + type: string + description: The total amount of employee deducted benefits for the payroll. + readOnly: true + imputed_pay: + type: string + description: The total amount of imputed pay for the payroll. + readOnly: true + deferred_payroll_taxes: + type: string + description: The total amount of payroll taxes deferred for the payroll, such as allowed by the CARES act. + readOnly: true + other_deductions: + type: string + description: The total amount of deductions for the payroll. + readOnly: true + Payroll-Employee-Compensations-Included: + type: object + additionalProperties: true + properties: + taxes: + type: array + uniqueItems: false + description: An array of employer and employee taxes for the pay period. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. + items: + type: object + properties: + name: + type: string + minLength: 1 + employer: + type: boolean + amount: + type: number + minLength: 1 + required: + - name + - employer + - amount + readOnly: true + readOnly: true + benefits: + type: array + uniqueItems: false + description: An array of employee benefits for the pay period. Benefits are only included for processed payroll when the include parameter is present. + items: + type: object + properties: + name: + type: string + readOnly: true + employee_deduction: + type: number + readOnly: true + company_contribution: + type: number + readOnly: true + imputed: + type: boolean + readOnly: true + readOnly: true + deductions: + type: array + uniqueItems: false + description: An array of employee deductions for the pay period. Only included when `deductions` is present in the `include` parameter. + items: + type: object + properties: + name: + type: string + description: The name of the deduction. + amount: + type: number + description: The amount of the deduction for the pay period. + amount_type: + type: string + description: The amount type of the deduction for the pay period. Only present for unprocessed payrolls. + enum: + - fixed + - percent + uuid: + type: string + description: The UUID of the deduction. Only present for unprocessed payrolls. + readOnly: true + updatable_via_payroll: + type: boolean + description: Whether the deduction can be updated via the payroll update endpoint. Only present for unprocessed payrolls. + readOnly: true + Payroll-Employee-Compensations-Base-Type: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + excluded: + type: boolean + description: This employee will be excluded (skipped) from payroll calculation and will not be paid for the payroll. Cancelling a payroll would reset all employees' excluded back to false. + readOnly: true + first_name: + type: + - string + - 'null' + description: The first name of the employee. Requires `employees:read` scope. + readOnly: true + preferred_first_name: + type: + - string + - 'null' + description: The preferred first name of the employee. Requires `employees:read` scope. + readOnly: true + last_name: + type: + - string + - 'null' + description: The last name of the employee. Requires `employees:read` scope. + readOnly: true + gross_pay: + type: + - string + - 'null' + description: The employee's gross pay (as a string-formatted decimal, e.g. "1234.56"), equal to regular wages + cash tips + payroll tips + any other additional earnings, excluding imputed income. This value is only available for processed payrolls. + readOnly: true + net_pay: + type: + - string + - 'null' + description: The employee's net pay (as a string-formatted decimal, e.g. "1234.56"), equal to gross_pay - employee taxes - employee deductions or garnishments - cash tips. This value is only available for processed payrolls. + readOnly: true + check_amount: + type: + - string + - 'null' + description: The employee's check amount (as a string-formatted decimal, e.g. "1234.56"), equal to net_pay + reimbursements. This value is only available for processed payrolls. + readOnly: true + payment_method: + description: The employee's compensation payment method. Is *only* `Historical` when retrieving external payrolls initially run outside of Gusto, then put into Gusto. + anyOf: + - type: string + enum: + - Direct Deposit + - Check + - Historical + - type: 'null' + memo: + type: + - string + - 'null' + description: Custom text that will be printed as a personal note to the employee on a paystub. + readOnly: true + fixed_compensations: + type: array + uniqueItems: false + description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. If this payroll has been processed, only fixed compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active fixed compensations are returned. + items: + type: object + properties: + name: + type: string + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + amount: + type: string + description: The amount of the compensation for the pay period. + job_uuid: + type: string + description: The UUID of the job for the compensation. + readOnly: true + hourly_compensations: + type: array + uniqueItems: false + description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. If this payroll has been processed, only hourly compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active hourly compensations are returned. + items: + type: object + properties: + name: + type: string + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + hours: + type: string + description: The number of hours to be compensated for this pay period. + amount: + type: string + description: The amount of the compensation. This field is only available after the payroll is calculated and cannot be used for updating hourly compensations. + job_uuid: + type: string + description: The UUID of the job for the compensation. + readOnly: true + compensation_multiplier: + type: number + description: The amount multiplied by the base rate to calculate total compensation per hour worked. + readOnly: true + flsa_status: + type: string + description: The FLSA Status of the employee's primary job compensation + readOnly: true + paid_time_off: + type: array + uniqueItems: false + description: An array of all paid time off the employee is eligible for this pay period. + items: + type: object + properties: + name: + type: string + description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. + hours: + type: string + description: The hours of this PTO taken during the pay period. + amount: + type: + - string + - 'null' + description: The dollar amount paid for this PTO entry during the pay period (as a string-formatted decimal, e.g. "1234.56"). Only available for processed payrolls. + readOnly: true + final_payout_unused_hours_input: + type: + - string + - 'null' + description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. + reimbursements: + type: array + uniqueItems: false + description: An array of reimbursements for the employee. + items: + type: object + properties: + amount: + type: string + description: The dollar amount of the reimbursement for the pay period. + description: + type: + - string + - 'null' + description: The description of the reimbursement. Null for unnamed reimbursements. + uuid: + type: + - string + - 'null' + description: The UUID of the reimbursement. Null for unnamed reimbursements. This field is only available for unprocessed payrolls. + readOnly: true + recurring: + type: boolean + description: Whether the reimbursement is recurring. This field is only available for unprocessed payrolls. + readOnly: true + required: + - amount + - description + Payroll-Employee-Compensations-Type: + allOf: + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Base-Type" + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + version: + description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + deductions: + type: array + uniqueItems: false + description: An array of deductions for the employee. This field is included by default for regular payrolls in version `v2025-06-15` and later. + items: + type: object + properties: + name: + type: string + description: The name of the deduction. + amount: + type: number + description: The amount of the deduction for the pay period. + amount_type: + type: string + description: The amount type of the deduction for the pay period. Only present for unprocessed payrolls. + enum: + - fixed + - percent + uuid: + type: string + description: The UUID of the deduction. Only present for unprocessed payrolls. + updatable_via_payroll: + type: boolean + description: Whether the deduction can be updated via the payroll update endpoint. Only present for unprocessed payrolls. + readOnly: true + Payroll-Unprocessed-Employee-Compensations-Type: + allOf: + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Base-Type" + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + version: + description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control) for information on how to use this field. + Payroll-Company-Taxes-Type: + type: array + uniqueItems: false + description: An array of taxes applicable to this payroll in addition to taxes included in `employee_compensations`. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. + items: + type: object + properties: + name: + type: string + description: The tax name + employer: + type: boolean + description: Whether this tax is an employer or employee tax + amount: + type: string + description: The amount of this tax for the payroll + Payroll-Taxes-Type: + type: array + uniqueItems: false + description: An array of tax totals applicable to this payroll. Only included for processed or calculated payrolls when `payroll_taxes` is present in the `include` parameter. + items: + type: object + properties: + name: + type: string + description: The tax name + employer: + type: boolean + description: Whether this tax is an employer or employee tax + amount: + type: number + description: The total tax for the payroll + Payroll-Payment-Speed-Changed-Type: + type: object + description: Only applicable when a payroll is moved to four day processing instead of fast ach. + properties: + original_check_date: + type: string + description: Original check date when fast ach applies. + readOnly: true + current_check_date: + type: string + description: Current check date. + readOnly: true + original_debit_date: + type: string + description: Original debit date when fast ach applies. + readOnly: true + current_debit_date: + type: string + description: Current debit date. + readOnly: true + reason: + type: string + description: The reason why the payroll is moved to four day. + readOnly: true + Created-At-Type: + type: string + format: date-time + description: Datetime for when the resource was created. + readOnly: true + Payroll-Submission-Blocker-Type: + type: object + description: A blocker that prevents payment submission. + properties: + blocker_type: + type: string + description: The type of blocker that's blocking the payment submission. + readOnly: true + blocker_name: + type: string + description: The name of the submission blocker. + readOnly: true + unblock_options: + type: array + uniqueItems: true + items: + type: object + properties: + unblock_type: + type: string + description: The type of unblock option for the submission blocker. + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option. + readOnly: true + metadata: + type: object + additionalProperties: true + description: Additional data associated with the unblock option. + readOnly: true + description: The available options to unblock a submission blocker. + readOnly: true + selected_option: + type: + - string + - 'null' + description: The unblock option that's been selected to resolve the submission blocker. + readOnly: false + status: + type: string + description: The status of the submission blocker. + enum: + - unresolved + - resolved + readOnly: true + Payroll-Submission-Blocker-Request-Type: + type: object + description: Request object for resolving a submission blocker. Each submission_blocker should include a selected unblock option. + required: + - blocker_type + - selected_option + properties: + blocker_type: + type: string + description: The type of submission_blocker that is blocking the payment. + selected_option: + type: string + description: The selected option to unblock the payment's submission_blocker. + Payroll-Submission-Blockers-Type: + type: array + description: Only included for processed or calculated payrolls + uniqueItems: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + Payroll-Credit-Blocker-Unblock-Option-Submit-Wire: + type: object + description: Unblock option to resolve a credit blocker by submitting a wire transfer + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - submit_wire + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + required: + - wire_in_amount + - wire_in_deadline + - wire_in_request_uuid + properties: + wire_in_amount: + type: string + description: The amount to be wired in (decimal string) + readOnly: true + wire_in_deadline: + type: string + format: date-time + description: Deadline for the wire transfer to be received + readOnly: true + wire_in_request_uuid: + type: string + description: UUID of the wire in request + readOnly: true + readOnly: true + Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot: + type: object + description: Unblock option to resolve a credit blocker by submitting a bank screenshot + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - submit_bank_screenshot + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + required: + - information_request_uuid + properties: + information_request_uuid: + type: string + description: UUID of the information request + readOnly: true + bank_account_last_four_digits: + type: + - string + - 'null' + description: Last 4 digits of the bank account number for the bank screenshot RFI + readOnly: true + readOnly: true + Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi: + type: object + description: Unblock option to resolve a credit blocker by responding to high risk fraud RFI + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - respond_to_high_risk_fraud_rfi + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + required: + - information_request_uuid + properties: + information_request_uuid: + type: string + description: UUID of the information request + readOnly: true + readOnly: true + Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire: + type: object + description: Unblock option to resolve a credit blocker by waiting for reverse wire + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - wait_for_reverse_wire + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + additionalProperties: false + readOnly: true + Payroll-Credit-Blocker-Type: + type: object + description: A blocker that prevents payment crediting. + properties: + blocker_type: + type: string + description: The type of blocker that's blocking the payment from being credited. + readOnly: true + blocker_name: + type: string + description: The name of the credit blocker. + readOnly: true + unblock_options: + type: array + uniqueItems: true + items: + oneOf: + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Wire" + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot" + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi" + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire" + discriminator: + propertyName: unblock_type + mapping: + submit_wire: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Wire" + submit_bank_screenshot: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot" + respond_to_high_risk_fraud_rfi: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi" + wait_for_reverse_wire: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire" + description: The available options to unblock a credit blocker. + readOnly: true + selected_option: + type: + - string + - 'null' + description: The unblock option that's been selected to resolve the credit blocker. + readOnly: false + status: + type: string + description: The status of the credit blocker + enum: + - unresolved + - pending_review + - resolved + - failed + Payroll-Credit-Blockers-Type: + type: array + description: Only included for processed payrolls + uniqueItems: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + Payroll-Processing-Request: + type: + - object + - 'null' + properties: + status: + type: string + description: The status of the payroll processing request + readOnly: true + enum: + - calculating + - calculate_success + - submitting + - submit_success + - processing_failed + errors: + description: Errors that occurred during async payroll processing + readOnly: true + type: array + items: + "$ref": "#/components/schemas/Entity-Error-Object" + Payroll-Fixed-Compensation-Types-Type: + type: array + items: + type: object + readOnly: true + properties: + name: + description: The name of an available type of fixed compensation. + type: string + readOnly: true + Payroll-Show: + type: object + x-examples: + success_status: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: [] + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_submit_wire_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_wire_in + blocker_name: Waiting for Wire In + unblock_options: + - unblock_type: submit_wire + check_date: '2025-06-13' + metadata: + wire_in_amount: '15000.00' + wire_in_deadline: '2025-06-12T18:00:00Z' + wire_in_request_uuid: c1234567-89ab-cdef-0123-456789abcdef + selected_option: + status: unresolved + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_submit_bank_screenshot_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_bank_screenshot + blocker_name: Waiting for Bank Screenshot + unblock_options: + - unblock_type: submit_bank_screenshot + check_date: '2025-06-13' + metadata: + information_request_uuid: d2234567-89ab-cdef-0123-456789abcdef + selected_option: + status: unresolved + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_respond_to_high_risk_fraud_rfi_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_high_risk_fraud_rfi + blocker_name: Waiting for High Risk Fraud RFI + unblock_options: + - unblock_type: respond_to_high_risk_fraud_rfi + check_date: '2025-06-13' + metadata: + information_request_uuid: e3234567-89ab-cdef-0123-456789abcdef + selected_option: + status: pending_review + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_wait_for_reverse_wire_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_reverse_wire + blocker_name: Waiting for Reverse Wire + unblock_options: + - unblock_type: wait_for_reverse_wire + check_date: '2025-06-13' + metadata: {} + selected_option: + status: resolved + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + totals: + "$ref": "#/components/schemas/Payroll-Totals-Type" + company_taxes: + "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" + payroll_taxes: + "$ref": "#/components/schemas/Payroll-Taxes-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + submission_blockers: + "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" + credit_blockers: + "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + employee_compensations: + type: array + uniqueItems: false + items: + type: object + allOf: + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Included" + Payroll-Unprocessed: + description: An unprocessed payroll with employee compensations. + x-examples: + success_status: + uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + employee_compensations: [] + payroll_uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + company_uuid: 42b5333b-ee39-493a-bf7e-f41f2bd67848 + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-17' + initial_check_date: '2025-06-17' + expected_debit_time: '2025-06-11T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-11T23:00:00Z' + off_cycle: true + auto_payroll: false + off_cycle_reason: Bonus + withholding_pay_period: Twice per month + skip_regular_deductions: true + fixed_withholding_rate: true + final_termination_payroll: false + processed: false + processed_date: + calculated_at: + pay_period: + start_date: '2025-06-10' + end_date: '2025-06-16' + pay_schedule_uuid: + check_date: '2025-06-17' + external: false + payroll_deadline: '2025-06-11T23:00:00Z' + fixed_compensation_types: + - name: Bonus + - name: Commission + - name: Paycheck Tips + - name: Cash Tips + - name: Correction Payment + - name: Reimbursement + created_at: '2025-06-11T19:40:52Z' + partner_owned_disbursement: + type: object + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + employee_compensations: + type: array + uniqueItems: false + items: + "$ref": "#/components/schemas/Payroll-Unprocessed-Employee-Compensations-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + fixed_compensation_types: + "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Payroll-Prepared: + description: The response from preparing a payroll for update. Contains refreshed employee compensations, updated payroll dates, and version information needed for subsequent payroll updates. + x-examples: + success_status: + uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + employee_compensations: [] + payroll_uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + company_uuid: 42b5333b-ee39-493a-bf7e-f41f2bd67848 + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-17' + initial_check_date: '2025-06-17' + expected_debit_time: '2025-06-11T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-11T23:00:00Z' + off_cycle: true + auto_payroll: false + off_cycle_reason: Bonus + withholding_pay_period: Twice per month + skip_regular_deductions: true + fixed_withholding_rate: true + final_termination_payroll: false + processed: false + processed_date: + calculated_at: + pay_period: + start_date: '2025-06-10' + end_date: '2025-06-16' + pay_schedule_uuid: + check_date: '2025-06-17' + external: false + payroll_deadline: '2025-06-11T23:00:00Z' + fixed_compensation_types: + - name: Bonus + - name: Commission + - name: Paycheck Tips + - name: Cash Tips + - name: Correction Payment + - name: Reimbursement + created_at: '2025-06-11T19:40:52Z' + partner_owned_disbursement: + type: object + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + employee_compensations: + type: array + uniqueItems: false + items: + "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + fixed_compensation_types: + "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Payroll-Receipt: + type: object + x-examples: + success_status: + totals: + company_debit: '0.00' + net_pay_debit: '0.00' + child_support_debit: '0.00' + reimbursement_debit: '0.00' + tax_debit: '0.00' + taxes: [] + employee_compensations: [] + licensee: + name: Gusto, Zenpayroll Inc. + address: 525 20th St + city: San Francisco + state: CA + postal_code: '94107' + phone_number: '4157778888' + payroll_uuid: 9f624c0d-0d4f-499a-993a-846dfa47a48e + company_uuid: '0481a066-e26a-465b-a2c1-933bd5b03a69' + name_of_sender: Kiehn, Conroy and Prohaska + name_of_recipient: Payroll Recipients + recipient_notice: Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below. + debit_date: '2025-06-12' + license: ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page. + license_uri: https://gusto.com/about/licenses + right_to_refund: https://gusto.com/about/licenses + liability_of_licensee: https://gusto.com/about/licenses + properties: + payroll_uuid: + type: string + description: A unique identifier of the payroll receipt. + company_uuid: + type: string + description: A unique identifier of the company for the payroll. + name_of_sender: + type: string + description: The name of the company by whom the payroll was paid + name_of_recipient: + type: string + description: Always the fixed string "Payroll Recipients" + recipient_notice: + type: string + description: Always the fixed string "Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below." + debit_date: + type: string + description: The debit or funding date for the payroll + license: + type: string + description: Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page." + license_uri: + type: string + description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" + right_to_refund: + type: string + description: '' + liability_of_licensee: + type: string + description: '' + totals: + type: object + description: The subtotals for the payroll. + properties: + company_debit: + type: string + format: float + description: The total company debit for the payroll. + net_pay_debit: + type: string + format: float + description: The total company net pay for the payroll. + child_support_debit: + type: string + format: float + description: The total child support debit for the payroll. + reimbursement_debit: + type: string + format: float + description: The total reimbursements for the payroll. + tax_debit: + type: string + format: float + description: The total tax debit for the payroll. + taxes: + type: array + description: An array of totaled employer and employee taxes for the pay period. + items: + type: object + properties: + name: + type: string + description: The amount paid for this tax. + amount: + type: string + format: float + description: The total amount paid by both employer and employee for this tax. + employee_compensations: + type: array + description: An array of employee compensations and withholdings for this payroll + items: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee. + employee_first_name: + type: string + description: The first name of the employee. + employee_last_name: + type: string + description: The last name of the employee. + payment_method: + type: string + description: The employee's compensation payment method. + enum: + - Direct Deposit + - Check + net_pay: + type: string + format: float + description: The employee's net pay. Net pay paid by check is available for reference but is not included in the `["totals"]["net_pay_debit"]` amount. + total_tax: + type: string + format: float + description: The total of employer and employee taxes for the pay period. + total_garnishments: + type: string + format: float + description: The total garnishments for the pay period. + child_support_garnishment: + type: string + format: float + description: The total child support garnishment for the pay period. + total_reimbursement: + type: string + format: float + description: The total reimbursement for the pay period. + licensee: + type: object + description: The licensed payroll processor + properties: + name: + type: string + description: Always the fixed string "Gusto, Zenpayroll Inc." + address: + type: string + description: Always the fixed string "525 20th St" + city: + type: string + description: Always the fixed string "San Francisco" + state: + type: string + description: Always the fixed string "CA" + postal_code: + type: string + description: Always the fixed string "94107" + phone_number: + type: string + description: Always the fixed string "4157778888" + Versionable: + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + Contractor-Address: + type: object + x-examples: + example: + version: 23323096a8015e32d9795fadf1fd300d + contractor_uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 + street_1: 999 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + properties: + contractor_uuid: + type: string + description: The UUID of the contractor + street_1: + type: + - string + - 'null' + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: + - string + - 'null' + readOnly: false + state: + type: + - string + - 'null' + readOnly: false + zip: + type: + - string + - 'null' + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: + - string + - 'null' + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + Contractor-Address-Update-Body: + type: object + properties: + version: + type: string + example: 56d00c178bc7393b2a206ed6a86afcb4 + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + required: + - version + x-examples: + example: + version: fe75bd065ff48b91c35fe8ff842f986c + street_1: 300 3rd Street + street_2: + city: San Francisco + state: CA + zip: '94107' + Address: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + street_1: + type: + - string + - 'null' + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: + - string + - 'null' + readOnly: false + state: + type: + - string + - 'null' + readOnly: false + zip: + type: + - string + - 'null' + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: + - string + - 'null' + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + example: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + Department: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + uuid: + type: string + description: The UUID of the department + company_uuid: + type: string + description: The UUID of the company + title: + type: string + description: Name of the department + employees: + type: array + description: Array of employees assigned to the department. + items: + properties: + uuid: + type: string + contractors: + type: array + description: Array of contractors assigned to the department. + items: + properties: + uuid: + type: string + x-examples: + example: + uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Stage Hand + version: d90440dd464601d1c8f4e9e240dfb7a6 + employees: + - uuid: 41199375-a999-4414-9f40-d9bf596b134d + contractors: + - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 + example_created: + uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Stage Hand + version: d90440dd464601d1c8f4e9e240dfb7a6 + employees: [] + contractors: [] + Department-List: + type: array + items: + "$ref": "#/components/schemas/Department" + x-examples: + example: + - uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Stage Hand + version: d90440dd464601d1c8f4e9e240dfb7a6 + employees: + - uuid: 41199375-a999-4414-9f40-d9bf596b134d + contractors: [] + - uuid: ec5c8a85-3233-4f39-a9f5-fb1ab7b5f5f3 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Actors + version: 34f39a30b45d077cb83aed2df4810d74 + employees: + - uuid: 7ee4aca1-814b-4034-b0f8-07f93cc679d1 + contractors: [] + - uuid: 1802465d-4f68-4865-920c-1307ab095f12 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Band + version: 1fe3076d35ef7c97d0ae68c5f4df0acd + employees: + - uuid: a73955be-c009-44dc-915e-6246e2bdedbb + contractors: + - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 + Department-Create-Request-Body: + type: object + properties: + title: + type: string + description: Name of the department + example: Stage Hand + required: + - title + Department-Update-Request-Body: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Department-Create-Request-Body" + Department-People-Request-Body: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + employees: + type: array + description: Array of employees to add or remove from the department + items: + type: object + properties: + uuid: + type: string + contractors: + type: array + description: Array of contractors to add or remove from the department + items: + type: object + properties: + uuid: + type: string + Child-Support-Data: + description: Child Support agency data + type: object + properties: + agencies: + type: array + description: State child support agencies + items: + type: object + properties: + state: + type: string + description: Two letter state abbreviation + name: + type: string + description: Name of state child support agency + manual_payment_required: + type: boolean + description: 'Specifies if remitting payment to the agency is required outside of Gusto. If true, Gusto includes garnishment amounts for this agency in payroll calculation, but does not debit for or remit payment to the agency automatically. As of September 2024, only garnishments for South Carolina Integrated Child Support Services require manual payment. ' + fips_codes: + type: array + description: FIPS codes for state or county child support orders + items: + type: object + properties: + code: + type: string + description: FIPS code for state or county + county: + type: + - string + - 'null' + description: Name of county in the state for the corresponding FIPS code. When `null` the FIPS code applies state wide. + required_attributes: + type: array + description: Describes which child support case identifying attributes are required for this agency. While most agencies only require a single identifier, some (e.g. OH) require multiple identifiers. + items: + type: object + properties: + key: + type: string + description: A required attribute when creating a garnishment for this state agency. The current values are listed as an enum; though unlikely, values could be added if state agency requirements change in the future. + enum: + - case_number + - order_number + - remittance_number + label: + type: string + description: A human readable name of the attribute, e.g. CSE Case Number + x-examples: + Example: + agencies: + - state: AK + name: Alaska Child Support Services Division + manual_payment_required: false + fips_codes: + - county: + code: '0200000' + required_attributes: + - key: case_number + label: CSE Case Number + - state: OH + name: Ohio Office of Child Support Enforcement + manual_payment_required: false + fips_codes: + - county: + code: '39000' + required_attributes: + - key: case_number + label: CSE Case Number + - key: order_number + label: Order Identifier + Employee-Onboarding-Document: + type: object + description: Configuration for which onboarding documents (e.g. Form I-9) are required for an employee during onboarding. + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the onboarding documents config record. Null when no config has been saved yet. + readOnly: true + i9_document: + type: boolean + description: | + Whether to include Form I-9 for this employee during onboarding. + When true, the employee will be prompted to complete Form I-9 as part of their onboarding. + readOnly: true + x-examples: + config_with_i9: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + i9_document: true + config_without_i9: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + i9_document: false + config_not_yet_saved: + uuid: + i9_document: false + Employee-Onboarding-Documents-Config-Request: + type: object + description: Request body for updating an employee's onboarding documents configuration. + properties: + i9_document: + type: boolean + default: false + description: | + Whether to include Form I-9 for this employee during onboarding. + When true, the employee will be prompted to complete Form I-9 as part of their onboarding. + x-examples: + enable_i9: + i9_document: true + disable_i9: + i9_document: false + I9-Authorization: + type: object + description: An employee's I-9 authorization + properties: + uuid: + type: string + description: The UUID of the I-9 authorization + readOnly: true + form_uuid: + type: + - string + - 'null' + description: The UUID of the Form associated with this I-9 authorization. Use this with "Employee Forms" API endpoints. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + readOnly: true + authorization_status: + type: string + description: The employee's authorization status + enum: + - citizen + - noncitizen + - permanent_resident + - alien + document_type: + anyOf: + - type: string + enum: + - uscis_alien_registration_number + - form_i94 + - foreign_passport + - type: 'null' + description: The document's document type + has_document_number: + type: + - boolean + - 'null' + description: Whether or not a `document_number` exists for this document. + expiration_date: + type: + - string + - 'null' + description: The document's expiration date + country: + type: + - string + - 'null' + description: The document's country of issuance + employer_signed: + type: boolean + description: Whether the employer has signed the Form I-9 + readOnly: true + employee_signed: + type: boolean + description: Whether the employee has signed the Form I-9 + readOnly: true + additional_info: + type: + - string + - 'null' + description: Any additional notes + alt_procedure: + type: + - boolean + - 'null' + description: Whether an alternative procedure authorized by DHS to examine documents was used + required: + - uuid + - version + - authorization_status + - employer_signed + - employee_signed + x-tags: + - I-9 Verification + x-examples: + alien_with_foreign_passport: + uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + version: 6ae7ff720107b356bf13b1606f60b24f + form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + authorization_status: alien + document_type: foreign_passport + has_document_number: true + expiration_date: '2028-01-01' + country: Canada + employer_signed: false + employee_signed: false + additional_info: + alt_procedure: + citizen_authorization: + uuid: a12bc345-6789-4def-abcd-ef0123456789 + version: 52b7c567242cb7393b2a206ed6a86afcb + form_uuid: + authorization_status: citizen + document_type: + has_document_number: false + expiration_date: + country: + employer_signed: false + employee_signed: false + additional_info: + alt_procedure: + employer_signed_authorization: + uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + version: 8bc7393b2a206ed6a86afcb4d00c1785 + form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + authorization_status: citizen + document_type: + has_document_number: false + expiration_date: + country: + employer_signed: true + employee_signed: true + additional_info: Additional info + alt_procedure: false + I9-Authorization-Document: + type: object + description: An employee's I-9 verification document + properties: + uuid: + type: string + description: The UUID of the I-9 verification document + readOnly: true + document_type: + type: string + description: The document's document type + document_title: + type: string + description: The document's document title + expiration_date: + type: + - string + - 'null' + description: The document's expiration date + issuing_authority: + type: string + description: The document's issuing authority + required: + - uuid + - document_type + - document_title + - issuing_authority + x-tags: + - I-9 Verification + x-examples: + driver_license: + uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + document_type: driver_license + issuing_authority: USA + expiration_date: '2027-01-01' + document_title: Driver's license + ssn_card: + uuid: 9p2337f9-9b78-44b9-aeed-be4777b833a8 + document_type: ssn_card + issuing_authority: USA + document_title: Social Security card + I9-Authorization-Document-Option: + type: object + description: An employee's I-9 verification document option based on the authorization status properties: - error_key: + section: type: string - description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. - category: + description: The document option's section in the list of acceptable documents on the Form I-9 + readOnly: true + enum: + - A + - A1 + - A2 + - A3 + - B + - C + description: type: string - description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. If category is `nested_errors`, the object will contain a nested `errors` property with entity errors. - message: + description: The document option's description + readOnly: true + document_type: type: string - description: Provides details about the error - generally this message can be surfaced to an end user. - metadata: - type: object - description: Contains relevant data to identify the resource in question when applicable. For example, to identify an entity `entity_type` and `entity_uuid` will be provided. - oneOf: - - "$ref": "#/components/schemas/Metadata-With-Multiple-Entities" - - "$ref": "#/components/schemas/Metadata-With-One-Entity" - errors: + description: The document option's document type + readOnly: true + document_title: type: array - description: Will only exist if category is `nested_errors`. It is possible to have multiple levels of nested errors. + description: The document option's document titles + readOnly: true items: - type: object - properties: - error_key: - type: string - description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. - category: - type: string - description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. If category is `nested_errors`, the object will contain a nested `errors` property with entity errors. - message: - type: string - description: Provides details about the error - generally this message can be surfaced to an end user. - metadata: - type: object - description: Contains relevant data to identify the resource in question when applicable. For example, to identify an entity `entity_type` and `entity_uuid` will be provided. - "$ref": "#/components/schemas/Entity-Error-Object" - Metadata-With-One-Entity: + type: string + common_choice: + type: boolean + description: Whether the document is a common choice for I-9 verification + readOnly: true + required: + - section + - description + - document_type + - document_title + - common_choice + x-tags: + - I-9 Verification + x-examples: + example_a: + section: A + description: Foreign passport + document_type: foreign_passport_w_i94 + document_title: + - Foreign passport + common_choice: true + example_b: + section: B + description: Driver's license or state-issued ID card + document_type: driver_license + document_title: + - Driver's license + - State ID card + common_choice: true + example_c: + section: C + description: Social Security card + document_type: ssn_card + document_title: + - Social Security card + common_choice: true + I9-Authorization-Request-Body: + description: Request body for creating or updating an employee's I-9 authorization. + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. If supplied, this endpoint will update the existing I-9 authorization if it exists. + authorization_status: + type: string + description: | + The employee's authorization status. + - `citizen`: A citizen is someone who was born in the United States or is a naturalized citizen living in the United States. + - `noncitizen`: A noncitizen national is someone born in American Samoa, certain former citizens of the former Trust Territory of the Pacific Islands, and certain children of noncitizen nationals born abroad. + - `permanent_resident`: A lawful permanent resident is someone who is not a US citizen and who resides under legally recognized and lawfully recorded permanent residence as an immigrant. + - `alien`: Also referred to as a "noncitizen authorized to work". This includes anyone who is authorized to work in the United States but is not a US citizen, US national or lawful permanent resident. + enum: + - citizen + - noncitizen + - permanent_resident + - alien + document_type: + type: string + description: | + The type of document an employee holds, based on their authorization status. + - This is unused for authorization status `citizen` or `noncitizen`. + - If the authorization status is `permanent_resident`, this must be `uscis_alien_registration_number`. + - If the authorization status is `alien`, this is required and may be any of the valid values. + enum: + - uscis_alien_registration_number + - form_i94 + - foreign_passport + document_number: + type: string + description: | + The document number. Formatting depends on the employee's document type. + - For `document_type:'uscis_alien_registration_number'`, this must be a USCIS Number/A-Number, which is 7 to 9 digits. + - For `document_type:'form_i94'`, this must be a Form I-94 Admission Number, which is 11 digits. + - For `document_type:'foreign_passport'`, this must be the passport number. + + This is required when the document type is present. + country: + type: string + description: | + The document's country of issuance. + + This is required when the document type is `foreign_passport`. + expiration_date: + type: string + description: | + The document's expiration date. + + This may only be used when the authorization status is `alien`. + required: + - authorization_status + x-examples: + create_citizen: + authorization_status: citizen + update_alien_with_foreign_passport: + version: 52b7c567242cb7393b2a206ed6a86afcb + authorization_status: alien + document_type: foreign_passport + document_number: '01234567' + country: Canada + expiration_date: '2028-01-01' + I9-Authorization-Employer-Sign-Request-Body: + description: Request body for employer signing an employee's Form I-9. type: object - description: single entity - additionalProperties: true properties: - entity_type: + signature_text: type: string - description: Name of the entity that the error corresponds to. - entity_uuid: + description: The signature + signer_title: type: string - description: Unique identifier for the entity. - valid_from: - type: - - string - - 'null' - valid_up_to: - type: - - string - - 'null' - key: - type: - - string - - 'null' - state: - type: - - string - - 'null' - Metadata-With-Multiple-Entities: - type: object - description: multiple entities + description: The signer's job title + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + agree: + type: boolean + description: Whether you agree to sign electronically + additional_info: + type: string + description: Any additional notes + alt_procedure: + type: boolean + description: Whether an alternative procedure authorized by DHS to examine documents was used required: - - entities - properties: - entities: - type: array - items: - "$ref": "#/components/schemas/Metadata-With-One-Entity" - Payroll-Blockers-Error: - description: |- - Payroll Blockers Error - - For detailed information, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) - type: object + - signature_text + - signer_title + - agree x-examples: - needs_onboarding: - errors: - - error_key: base - category: payroll_blocker - message: Company must complete all onboarding requirements in order to run payroll. - metadata: - key: needs_onboarding - properties: - errors: - type: array - items: - type: object - properties: - error_key: - type: string - description: The string "base" - category: - type: string - description: The string "payroll_blocker" - message: - type: string - description: Human readable description of the payroll blocker - metadata: - type: object - properties: - key: - type: string - description: A categorization of the payroll blocker, e.g. "geocode_error" - Migration-Blocker: - description: Migration blocker that blocks company migration + employer_sign: + signature_text: Jane Doe + signer_title: Admin + signed_by_ip_address: 192.168.0.1 + agree: true + I9-Authorization-Documents-Request-Body: + description: Request body for creating an employee's I-9 authorization verification documents. type: object properties: - errors: + documents: type: array + description: An array of I-9 verification documents. Every request must contain the complete list of documents for the employee, as previous records are replaced. items: type: object properties: - error_key: - type: string - description: Error key - category: + document_type: type: string - description: Error category - message: + description: The document type. Use the document options endpoint to get the possible values. + example: us_passport + document_title: type: string - description: Blocker message - metadata: - type: object - properties: - key: - type: string - description: A categorization of the migration blocker, e.g. "migrated_company" - Migration-Warning: - description: Migration warning that does not block company migration - type: object - properties: - warnings: - type: array - items: - type: object - properties: - error_key: + description: The document title associated with the document type + example: US Passport + document_number: type: string - description: Error key - category: + description: The document's document number + example: F12345678 + expiration_date: type: string - description: Error category - message: + description: The document's expiration date + example: '2026-01-01' + issuing_authority: type: string - description: Warning message - metadata: - type: object - properties: - key: - type: string - description: A categorization of the migration warning, e.g. "marijuana_related_business" - Authentication: - description: '' - type: object - oneOf: - - "$ref": "#/components/schemas/Create-Token-Authentication" - - "$ref": "#/components/schemas/Refresh-Token-Authentication" - x-examples: - create_token: - access_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A - token_type: Bearer - created_at: 1767644464 - expires_in: 7200 - refresh_token: - refresh_token: - access_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A - refresh_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A - scope: public payroll:read - token_type: Bearer - created_at: 1767644464 - expires_in: 7200 - Pay-Schedule: - type: object - title: Pay Schedule - x-examples: - Example: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - auto_pilot: false - custom_name: A new monthly pay schedule - success_status: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2022-09-01' - anchor_end_of_pay_period: '2022-08-18' - day_1: 1 - day_2: 15 - name: - custom_name: every 1st and 15th of the month - auto_payroll: true - active: true - auto_payroll_enablement_blockers: - description: | - The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. - - Response includes frequency, anchor dates, optional day_1/day_2 for monthly/semi-monthly, auto_pilot (or auto_payroll for API version 2025-11-15 and later), and auto_payroll_enablement_blockers when Autopayroll is disabled. - - **Webhooks:** Subscribe to [Pay Schedule Events](https://docs.gusto.com/embedded-payroll/docs/pay-schedule-events) to receive `pay_schedule.created` and `pay_schedule.updated` when pay schedules are created or updated. - properties: - uuid: - "$ref": "#/components/schemas/Pay-Schedule-Uuid" - version: - "$ref": "#/components/schemas/Pay-Schedule-Version" - frequency: - "$ref": "#/components/schemas/Pay-Schedule-Frequency" - anchor_pay_date: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" - anchor_end_of_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" - day_1: - "$ref": "#/components/schemas/Pay-Schedule-Day-1" - day_2: - "$ref": "#/components/schemas/Pay-Schedule-Day-2" - name: - "$ref": "#/components/schemas/Pay-Schedule-Name" - custom_name: - "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" - auto_pilot: - type: boolean - description: | - With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. - For API version 2025-11-15 and later the response uses auto_payroll (Autopayroll) instead. - readOnly: true - auto_payroll: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll" - active: - "$ref": "#/components/schemas/Pay-Schedule-Active" - auto_payroll_enablement_blockers: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blockers" - x-tags: - - Pay Schedules + description: The document's issuing authority + example: USA + required: + - document_type + - document_title + - issuing_authority required: - - uuid - Pay-Schedule-Create-Update: - type: object - title: Pay Schedule + - documents x-examples: - Example: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - auto_pilot: false - custom_name: A new monthly pay schedule - description: The representation of a pay schedule. + create_documents: + documents: + - document_type: us_passport + document_title: US passport + document_number: F12345678 + expiration_date: '2035-04-01' + issuing_authority: US Department of State + Rehire-Body: + type: object properties: - uuid: - "$ref": "#/components/schemas/Pay-Schedule-Uuid" - frequency: - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" - anchor_pay_date: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" - anchor_end_of_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" - day_1: - "$ref": "#/components/schemas/Pay-Schedule-Day-1" - day_2: - "$ref": "#/components/schemas/Pay-Schedule-Day-2" - name: - "$ref": "#/components/schemas/Pay-Schedule-Name" - custom_name: - "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" - auto_pilot: + effective_date: + type: string + description: The day when the employee returns to work. + example: '2023-06-30' + file_new_hire_report: type: boolean - description: | - With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. - For API version 2025-11-15 and later the response uses auto_payroll (Autopayroll) instead. - readOnly: true - active: - "$ref": "#/components/schemas/Pay-Schedule-Active" - x-tags: - - Pay Schedules + description: The boolean flag indicating whether Gusto will file a new hire report for the employee. + work_location_uuid: + type: string + description: The uuid of the employee's work location. + example: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 + employment_status: + type: string + description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. + enum: + - part_time + - full_time + - part_time_eligible + - variable + - seasonal + - not_set + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. required: - - uuid - Pay-Schedule-Uuid: + - effective_date + - file_new_hire_report + - work_location_uuid + Fast-Payment-Limit-Param: type: string - description: The unique identifier of the pay schedule in Gusto. - readOnly: true - Pay-Schedule-Frequency: + description: Fast payment limit. This limit is an aggregate of all fast payrolls amount. This limit is only relevant when payment speed is 1-day or 2-day. + Payment-Speed-Param: type: string - description: | - The frequency that employees on this pay schedule are paid with Gusto. - - READ-ONLY in responses. Possible values: - - - `Every week`: Employees are paid weekly. - - `Every other week`: Employees are paid bi-weekly (every two weeks). - - `Twice per month`: Employees are paid on two fixed days each month (e.g. 1st and 15th); use day_1 and day_2. - - `Monthly`: Employees are paid once per month; use day_1 for the pay day. - - `Quarterly`: Employees are paid every three months. - - `Annually`: Employees are paid once per year. + description: Gusto Embedded supports three payment speeds (1-day, 2-day, and 4-day). For next-day payments, funds are deposited in your team's bank account by the end of the next business day. Most people will see the funds arrive the next afternoon, but payments may arrive as late as the end of the business day. enum: - - Every week - - Every other week - - Twice per month - - Monthly - - Quarterly - - Annually - readOnly: true - Pay-Schedule-Frequency-Create-Update: - type: string + - 1-day + - 2-day + - 4-day + Fast-Payment-Limit-Required-Body: + type: object + properties: + fast_payment_limit: + "$ref": "#/components/schemas/Fast-Payment-Limit-Param" + payment_speed: + "$ref": "#/components/schemas/Payment-Speed-Param" + required: + - fast_payment_limit + Payment-Speed-Required-Body: + type: object + properties: + fast_payment_limit: + "$ref": "#/components/schemas/Fast-Payment-Limit-Param" + payment_speed: + "$ref": "#/components/schemas/Payment-Speed-Param" + required: + - payment_speed + Historical-Employee-Body: + type: object description: | - The frequency that employees on this pay schedule are paid with Gusto. Only weekly, bi-weekly, twice per month, and monthly are supported on create and update. - - - `Every week`: Weekly pay. - - `Every other week`: Biweekly pay. - - `Twice per month`: Two pay dates per month; require day_1 and day_2 (use 31 for last day of month). - - `Monthly`: One pay date per month; require day_1 (1-31). - enum: - - Every week - - Every other week - - Twice per month - - Monthly - Pay-Schedule-Anchor-Pay-Date: - type: string - format: date - description: The first date that employees on this pay schedule are paid with Gusto (ISO 8601 YYYY-MM-DD). - readOnly: true - Pay-Schedule-Anchor-End-Of-Pay-Period: - type: string - format: date - description: The last date of the first pay period. This can be the same date as the anchor pay date (ISO 8601 YYYY-MM-DD). - readOnly: true - Pay-Schedule-Day-1: - type: - - integer - - 'null' - description: 'An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + Request body for creating or updating a **historical employee**—someone who already separated from the company and must appear on year-to-date or tax filings without receiving ongoing payroll. -' - readOnly: true - Pay-Schedule-Day-2: - type: - - integer - - 'null' - description: 'An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, this field should be set to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + Send this object under the JSON root key `employee`. All dates are ISO 8601 (`YYYY-MM-DD`). Use a `work_address.location_uuid` returned from your company locations API for an active work site. + properties: + first_name: + type: string + description: Legal first name as it appears on government-issued identification. + example: Soren + middle_initial: + type: string + description: Single middle initial, if any. + example: A + last_name: + type: string + description: Legal last name as it appears on government-issued identification. + example: Kierkegaard + preferred_first_name: + type: string + description: Preferred given name for display; omit when the same as legal first name. + example: Angel + date_of_birth: + type: string + format: date + description: Date of birth (YYYY-MM-DD). + example: '1995-05-05' + ssn: + type: string + pattern: "[0-9]{9}" + description: 'Nine-digit U.S. Social Security number **without** dashes or spaces. Must pass Gusto/SSA validation in production; use a valid test SSN in sandbox environments. ' - readOnly: true - Pay-Schedule-Name: - type: - - string - - 'null' - description: This field will be hourly when the pay schedule is for hourly employees, salaried when the pay schedule is for salaried employees, the department name if pay schedule is by department, and null when the pay schedule is for all employees. - readOnly: true - Pay-Schedule-Custom-Name: - type: string - description: | - A custom name for a pay schedule; defaults to the pay frequency description when none was set by the partner. - - When the partner never set a custom name (or cleared it), this field contains the auto-generated description derived from frequency and pay days (e.g. "every 1st and 15th of the month", "every Friday"). When the partner set a custom name on create or update, this field contains that value. - readOnly: true - Pay-Schedule-Auto-Pilot: - type: boolean - description: | - When true, autopilot is enabled and payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. - For API version 2025-11-15 and later the response uses auto_payroll (Autopayroll) instead. - Pay-Schedule-Active: - type: boolean - description: Whether this pay schedule is associated with any employees. A pay schedule is inactive when it's unassigned. - readOnly: true - Ytd-Benefit-Amounts-From-Different-Company: + example: '123456294' + work_address: + type: object + description: Primary work location for this historical employment row. + required: + - location_uuid + properties: + location_uuid: + type: string + format: uuid + description: UUID of a company work location from the company locations response. + example: 1da85d35-1910-40a7-9c1f-8e2b3d4c5a6f + home_address: + type: object + description: Residential address on file for tax withholding and compliance mail. + properties: + street_1: + type: string + description: Street address line 1. + example: 55 Mission St + street_2: + type: + - string + - 'null' + description: Apartment, suite, unit, or building (optional). + example: Floor 3 + city: + type: string + description: City. + example: San Francisco + state: + type: string + description: Two-letter U.S. state or territory postal abbreviation. + example: CA + zip: + type: string + description: ZIP or ZIP+4. + example: '94105' + x-speakeasy-name-override: zip_code + required: + - street_1 + - city + - state + - zip + termination: + type: object + description: End of the historical employment period. + required: + - effective_date + properties: + effective_date: + type: string + format: date + description: Last day of employment (termination date). This is recorded on the employment; use the calendar date the person stopped working for the company. + example: '2022-01-01' + email: + type: string + format: email + description: Optional. When provided, stored on the employee record for notifications and profile. + example: soren.kierkegaard@example.com + job: + type: object + description: Hire date for the historical job used to build employments and filings. + required: + - hire_date + properties: + hire_date: + type: string + format: date + description: First calendar day the employee was employed in this role at the company. + example: '2020-01-01' + employee_state_taxes: + type: object + description: Workers' compensation fields for Washington (WA) or Wyoming (WY) when the work address is in those states; omit when not applicable. + properties: + wc_covered: + type: boolean + description: Whether this job is eligible for workers' compensation coverage in the states of Washington (WA) or Wyoming (WY). + example: true + wc_class_code: + type: string + description: The risk class code for workers' compensation in Washington or Wyoming state. For Washington, visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. For Wyoming you can search for the code online using [WY Workforce Services website](https://dws.wyo.gov/dws-division/workers-compensation/) or call the agency at (307) 235-3217. + example: '051000' + required: + - first_name + - last_name + - date_of_birth + - ssn + - work_address + - home_address + - job + - termination + x-examples: + typical_historical_employee: + first_name: Soren + middle_initial: A + last_name: Kierkegaard + preferred_first_name: Angel + date_of_birth: '1995-05-05' + ssn: '123456294' + email: soren.kierkegaard@example.com + work_address: + location_uuid: 1da85d35-1910-40a7-9c1f-8e2b3d4c5a6f + home_address: + street_1: 55 Mission St + street_2: Floor 3 + city: San Francisco + state: CA + zip: '94105' + job: + hire_date: '2020-01-01' + termination: + effective_date: '2022-01-01' + Pay-Schedule-Assignment-Body: type: object - description: Ytd Benefit Amounts From Different Company properties: - uuid: + type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. + hourly_pay_schedule_uuid: type: string - description: The unique identifier for this benefit amount record. - benefit_type: - type: integer - description: The benefit type supported by Gusto. See [Benefit Types](https://docs.gusto.com/embedded-payroll/reference/get-v1-benefits) for more information. - ytd_employee_deduction_amount: + description: Pay schedule for hourly employees. + salaried_pay_schedule_uuid: type: string - description: The year-to-date employee deduction made outside the current company. - ytd_company_contribution_amount: + description: Pay schedule for salaried employees. + default_pay_schedule_uuid: type: string - description: The year-to-date company contribution made outside the current company. + description: Default pay schedule for employees. + partial_assignment: + type: boolean + description: Indicates whether the request provides pay schedule assignments for a partial list of employees or departments of the company. By default, this is set to false. + employees: + type: array + description: List of employees and their pay schedules. + items: + type: object + properties: + employee_uuid: + type: string + description: Employee UUID + pay_schedule_uuid: + type: string + description: Pay schedule UUID + departments: + type: array + description: List of departments and their pay schedules. + items: + type: object + properties: + department_uuid: + type: string + description: Department UUID + pay_schedule_uuid: + type: string + description: Pay schedule UUID required: - - uuid - - benefit_type - - ytd_employee_deduction_amount - - ytd_company_contribution_amount - x-examples: - Ytd-Benefit-Amounts-List: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d3 - benefit_type: 1 - ytd_employee_deduction_amount: '5000.00' - ytd_company_contribution_amount: '2500.00' - - uuid: 1bfdb946-b2be-4909-ac46-9e7f73872d0a - benefit_type: 5 - ytd_employee_deduction_amount: '2132.00' - ytd_company_contribution_amount: '3345.00' - Company-Attachment: - description: The company attachment + - type + Form-Document-Content-Type-Type: + type: + - string + - 'null' + description: The content type of the associated document. Most forms are PDFs with a content type of `application/pdf`. Some tax file packages will be zip files (containing PDFs) with a content type of `application/zip`. This attribute will be `null` when the document has not been prepared. + readOnly: true + Form: + title: Form type: object - required: - - uuid - - name - - category - - upload_time - x-examples: - success_status: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - name: Company_Attachment_File.pdf - category: gep_notice - upload_time: '2024-09-10T01:54:20Z' - compliance_attachment: - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - name: Compliance_Document.pdf - category: compliance - upload_time: '2024-10-15T14:30:00Z' - x-tags: - - Company Attachment properties: uuid: type: string - description: UUID of the company attachment + description: The UUID of the form + readOnly: true + employee_uuid: + type: string + description: The UUID of the employee to which the form belongs, if applicable. + readOnly: true name: type: string - description: name of the file uploaded - category: + description: The type identifier of the form + readOnly: true + title: type: string - description: | - The category of the company attachment. - - `gep_notice`: A tax notice attachment - - `compliance`: A compliance attachment - - `other`: Any other attachment type - enum: - - gep_notice - - compliance - - other - upload_time: + description: The title of the form + readOnly: true + description: type: string - description: The ISO 8601 timestamp of when an attachment was uploaded - Company-Bank-Account: - description: The company bank account - type: object + description: The description of the form + readOnly: true + draft: + type: boolean + description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. + readOnly: true + year: + type: + - integer + - 'null' + description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A W2 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. + readOnly: true + quarter: + type: + - integer + - 'null' + description: The quarter of this form. For some forms, e.g. tax forms, this is the calendar quarter which this form represents. An Employer's Quarterly Federal Tax Return (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year value of 2022). This value is nullable and will not be present on all forms. + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. + readOnly: true + document_content_type: + "$ref": "#/components/schemas/Form-Document-Content-Type-Type" x-examples: - success_status: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: bank_deposits - name: Employer Funding Account - reverse_wire_enabled: false - plaid_external_status: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: plaid_external - name: Employer Funding Account - reverse_wire_enabled: true + Example: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + name: company_direct_deposit + title: Direct Deposit Authorization + description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. + draft: false + year: + quarter: + requires_signing: true + document_content_type: application/pdf + employee_form: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + employee_uuid: c5fdae67-b148-4b52-8b33-1384024a1256 + name: w4_federal + title: 'Form W-4: 2024' + description: Form W-4 determines how much federal income tax your employer will withhold from your pay. + draft: false + year: 2024 + quarter: + requires_signing: true + document_content_type: application/pdf + quarterly_tax_form: + uuid: 7a2b9f3e-1c4d-4e5f-8a6b-2d3e4f5a6b7c + name: form_941 + title: 'Form 941: Q2 2024' + description: Employer's Quarterly Federal Tax Return for the second quarter of 2024. + draft: false + year: 2024 + quarter: 2 + requires_signing: false + document_content_type: application/pdf + sandbox_w2: + uuid: bf5b2496-26df-436e-b465-eae4ed5c8021 + employee_uuid: 19394e76-a866-4570-b237-9a26b0163907 + name: US_W-2 + title: 'Draft Form W-2: 2021' + description: Form W-2 records your annual wages and taxes. + draft: true + year: 2021 + quarter: + requires_signing: false + document_content_type: application/pdf x-tags: - - Company Bank Accounts + - Forms + required: + - uuid + Form_1099: + title: Form + type: object properties: uuid: type: string - description: UUID of the bank account - company_uuid: - type: string - description: UUID of the company - account_type: - type: string - description: Bank account type - enum: - - Checking - - Savings - routing_number: - type: string - description: The bank account's routing number - hidden_account_number: + description: The UUID of the form + readOnly: true + name: type: string - description: Masked bank account number - verification_status: + description: The type identifier of the form + readOnly: true + title: type: string - enum: - - awaiting_deposits - - ready_for_verification - - verified - description: |- - The verification status of the bank account. - - 'awaiting_deposits' means the bank account is just created and money is being transferred. - 'ready_for_verification' means the micro-deposits are completed and the verification process can begin by using the verify endpoint. - 'verified' means the bank account is verified. - verification_type: + description: The title of the form + readOnly: true + description: type: string - enum: - - bank_deposits - - plaid - - plaid_external - description: |- - The verification type of the bank account. - - 'bank_deposits' means the bank account is connected by entering routing and accounting numbers and verifying through micro-deposits. - 'plaid' means the bank account is connected through Plaid. - plaid_status: - anyOf: - - type: string - enum: - - connected - - disconnected - - type: 'null' - description: The Plaid connection status of the bank account. Only applies when verification type is Plaid. - last_cached_balance: + description: The description of the form + readOnly: true + draft: + type: boolean + description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. + readOnly: true + year: type: - - string + - integer - 'null' - description: The last fetch balance for the bank account. Please be aware that this amount does not reflect the most up-to-date balance and only applies when the verification type is Plaid. - balance_fetched_date: + description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A 1099 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. + readOnly: true + quarter: type: - - string + - integer - 'null' - description: The balance fetch date associated with the last_cached_balance. Only applies when verification type is Plaid. - name: + description: The quarter of this form. This value is currently always null since it is not present on any contractor forms. + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. + readOnly: true + document_content_type: + "$ref": "#/components/schemas/Form-Document-Content-Type-Type" + contractor_uuid: type: string - description: Name of bank account - reverse_wire_enabled: + description: The contractor UUID + readOnly: true + x-examples: + Example: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + name: US_1099 + title: 'Form 1099: 2020' + description: Form 1099 records your annual income as a contractor. + draft: false + requires_signing: false + year: 2020 + quarter: + document_content_type: application/pdf + contractor_uuid: 123dd616-6dbc-4724-938a-403f6217a933 + sandbox_1099: + uuid: 29afb141-2256-431d-90e0-1c7344222342 + contractor_uuid: b68484a9-4487-4ee5-bafc-4245133a426c + name: US_1099 + title: 'Form 1099: 2022' + description: Form 1099 records your annual income as a contractor. + draft: true + requires_signing: false + year: 2022 + quarter: + document_content_type: application/pdf + x-tags: + - Forms + required: + - uuid + Form-Pdf: + title: Form Pdf + type: object + properties: + uuid: + type: string + description: the UUID of the form + readOnly: true + document_url: type: - - boolean + - string - 'null' - description: |- - Whether the company has at least one bank account with active reverse-wire - funding. The same value is returned on every bank-account row in this - response. + description: the URL of the form + document_content_type: + "$ref": "#/components/schemas/Form-Document-Content-Type-Type" + x-examples: + Example: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + document_url: https://app.gusto-demo.com/assets/forms/7757842065202782/original/form.pdf?1633667020 + document_content_type: application/pdf + document_not_ready: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + document_url: + document_content_type: required: - uuid - Benefit-Type-Requirements: - description: '' + Document: + title: Document type: object - x-tags: - - Company Benefits properties: - employee_deduction: - type: object - description: The amount to be deducted, per pay period, from the employee's pay. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string - type: - type: string - choices: - type: - - array - - 'null' - items: + uuid: + type: string + description: The UUID of the document + readOnly: true + title: + type: string + description: The title of the document + readOnly: true + name: + type: string + description: The type identifier of the document + readOnly: true + recipient_type: + type: string + description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) + enum: + - Company + - Employee + - Contractor + readOnly: true + recipient_uuid: + type: string + description: Unique identifier for the recipient associated with the document + readOnly: true + pages: + type: array + description: List of the document's pages and associated image URLs. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. + items: + type: object + properties: + image_url: type: string - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + description: Image URL for the page + page_number: + type: integer + description: Page number + readOnly: true + fields: + type: array + description: List of the document's fields and associated data. Values are set for auto-filled fields. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. + items: + type: object + properties: + key: type: - type: string - choices: - type: - - array - - 'null' - items: - type: string - deduct_as_percentage: - type: object - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + - string + - 'null' + description: Unique identifier of the field. May be null for custom fields that do not correspond to a known Gusto-managed key mapping. + value: type: - type: string - choices: - type: - - array - - 'null' - items: - type: string - catch_up: - type: object - description: Whether the employee should use a benefit’s 'catch up' rate. Only Roth 401k and 401k benefits use this value for employees over 50. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + - string + - 'null' + description: Auto-filled value of the field + x: type: - type: string - choices: - type: - - array - - 'null' - items: - type: string - limit_option: - type: object - description: Some benefits require additional information to determine their limit. For example, for an HSA benefit, the limit option should be either 'Family' or 'Individual'. For a Dependent Care FSA benefit, the limit option should be either 'Joint Filing or Single' or 'Married and Filing Separately'. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + - integer + - 'null' + description: X-coordinate location of the field on the page. May be null when the field has no positioning information. + "y": type: - type: string - choices: - type: - - array - - 'null' - items: - type: string - company_contribution_annual_maximum: - type: object - description: The maximum company contribution amount per year. A null value signifies no limit. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + - integer + - 'null' + description: Y-coordinate location of the field on the page. May be null when the field has no positioning information. + width: type: - type: string - choices: - type: - - array - - 'null' - items: - type: string - coverage_salary_multiplier: - type: object - description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + - integer + - 'null' + description: Width of the field. May be null when the field has no positioning information. + height: type: - type: string - choices: - type: - - array - - 'null' - items: - type: string - coverage_amount: - type: object - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: - - object - - 'null' - properties: - value: - type: string + - integer + - 'null' + description: Height of the field. May be null when the field has no positioning information. + page_number: type: - type: string - choices: - type: - - array - - 'null' - items: + - integer + - 'null' + description: Page number of the field. May be null when the field has no positioning information. + data_type: type: string + description: The field's data type + required: + type: boolean + description: Whether the field is required + readOnly: true + signed_at: + type: + - string + - 'null' + description: When the document was signed (will be `null` if unsigned) + readOnly: true + description: + type: string + description: The description of the document + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. + draft: + type: boolean + description: If the document is in a draft state + readOnly: true + year: + type: + - integer + - 'null' + description: The year of this document. This value is nullable and will not be present on all documents. + readOnly: true + quarter: + type: + - integer + - 'null' + description: The quarter of this document. This value is nullable and will not be present on all documents. + readOnly: true x-examples: Example: - employee_deduction: - required: true - editable: true - default_value: - choices: - contribution: - required: true - editable: true - default_value: - choices: - - amount - deduct_as_percentage: - required: false - editable: false - default_value: - choices: - catch_up: - required: false - editable: false - default_value: - choices: - limit_option: - required: false - editable: false - default_value: - choices: - company_contribution_annual_maximum: - required: false - editable: false - default_value: - choices: - coverage_salary_multiplier: - required: false - editable: false - default_value: - choices: - coverage_amount: - required: false - editable: false - default_value: - choices: - Benefit-Summary: - description: '' - type: object + uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b + title: Taxpayer Identification (Form W-9) + name: taxpayer_identification_form_w_9 + recipient_type: Contractor + recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 + pages: + - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/0.jpg + page_number: 0 + - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/1.jpg + page_number: 1 + fields: + - key: text1596141656513 + value: + x: 69 + "y": 94 + width: 261 + height: 13 + page_number: 0 + data_type: text + required: true + - key: optional_text1596141704672 + value: + x: 69 + "y": 118 + width: 262 + height: 13 + page_number: 0 + data_type: text + required: false + signed_at: + description: Form W-9, Request for Taxpayer Identification Number and Certification + requires_signing: true + draft: false + year: + quarter: x-tags: - - Company Benefits - x-examples: - typical_summary: - start_date: '2022-01-01' - end_date: '2022-12-31' - description: Simple IRA - company_benefit_deduction: '60.0' - company_benefit_contribution: '30.0' - employees: - - uuid: 54b7114f-f5e2-4f4b-911b-5cd5ad9032b0 - company_benefit_deduction: '60.0' - company_benefit_contribution: '30.0' - benefit_deduction: '660.0' - benefit_contribution: '330.0' - gross_pay: '18000.0' - imputed_pay: '350.0' - payroll_benefits: - - payroll_uuid: 8cc3471b-9da5-47df-88ea-f238c7cb968b - payroll_type: Regular - check_date: '2022-03-01' - gross_pay: '3000.0' - imputed_pay: '70.0' - company_benefit_deduction: '10.0' - company_benefit_contribution: '5.0' - pay_period: - start_date: '2022-02-01' - end_date: '2022-02-28' - - payroll_uuid: d9d92786-722b-4bf7-bb32-79140418d349 - payroll_type: Bonus - check_date: '2022-12-31' - gross_pay: '3000.0' - imputed_pay: '70.0' - company_benefit_deduction: '20.0' - company_benefit_contribution: '10.0' - pay_period: - start_date: nil - end_date: nil + - Documents + Document-Signed: + title: Document Signed + type: object properties: - start_date: + uuid: type: string - description: The start date of benefit summary. - end_date: + description: The UUID of the document + readOnly: true + title: type: string - description: The end date of benefit summary. - description: + description: The title of the document + readOnly: true + name: type: string - description: Description of the benefit. - company_benefit_deduction: + description: The type identifier of the document + readOnly: true + recipient_type: type: string - description: The aggregate of employee deduction for all employees given the period of time and the specific company benefit. - company_benefit_contribution: + description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) + enum: + - Company + - Employee + - Contractor + readOnly: true + recipient_uuid: type: string - description: The aggregate of company contribution for all employees given the period of time and the specific company benefit. - employees: + description: Unique identifier for the recipient associated with the document + readOnly: true + pages: type: array - description: '' + description: List of the document's pages and associated image URLs. items: type: object properties: - uuid: - type: string - description: The UUID of the employee - company_benefit_deduction: - type: string - description: The sum of employee deduction for this employee given the period of time and the specific company benefit. - company_benefit_contribution: - type: string - description: The sum of company contribution for this employee given the period of time and the specific company benefit. - benefit_deduction: - type: string - description: The sum of employee benefit deduction for this employee given the period of time and the benefit type. - benefit_contribution: - type: string - description: The sum of company contribution for this employee given the period of time and the benefit type. - gross_pay: + image_url: type: string - description: Gross pay for this employee given the period of time. - imputed_pay: + description: Image URL for the page + page_number: + type: integer + description: Page number + readOnly: true + fields: + type: array + description: List of the document's fields and associated data. Values reflect the data provided at signing. + items: + type: object + properties: + key: + type: + - string + - 'null' + description: Unique identifier of the field. May be null for custom fields that do not correspond to a known Gusto-managed key mapping. + value: + type: + - string + - 'null' + description: Value of the field + x: + type: + - integer + - 'null' + description: X-coordinate location of the field on the page. May be null when the field has no positioning information. + "y": + type: + - integer + - 'null' + description: Y-coordinate location of the field on the page. May be null when the field has no positioning information. + width: + type: + - integer + - 'null' + description: Width of the field. May be null when the field has no positioning information. + height: + type: + - integer + - 'null' + description: Height of the field. May be null when the field has no positioning information. + page_number: + type: + - integer + - 'null' + description: Page number of the field. May be null when the field has no positioning information. + data_type: type: string - description: Total imputed pay for this employee given the period of time (not scoped to a benefit type). - payroll_benefits: - type: array - items: - type: object - properties: - payroll_uuid: - type: string - payroll_type: - type: string - description: Whether it is regular or bonus payroll - check_date: - type: string - description: Check date of this payroll. - gross_pay: - type: string - description: Gross pay for this employee on the payroll. - imputed_pay: - type: string - description: Total imputed pay for this employee on the payroll. - company_benefit_deduction: - type: string - description: The employee benefit deduction amount for this employee on the payroll. - company_benefit_contribution: - type: string - description: The company contribution amount for this employee on the payroll. - pay_period: - type: object - properties: - start_date: - type: - - string - - 'null' - description: The beginning of the payroll's pay period. - end_date: - type: - - string - - 'null' - description: The end of the payroll's pay period. - Supported-Benefit: - description: '' - type: object - properties: - benefit_type: - type: integer - description: The benefit type in Gusto. + description: The field's data type + required: + type: boolean + description: Whether the field is required readOnly: true - name: - type: string - description: The name of the benefit. + signed_at: + type: + - string + - 'null' + description: When the document was signed (will be `null` if unsigned) readOnly: true description: type: string - description: The description of the benefit. - readOnly: true - pretax: - type: boolean - description: Whether the benefit is deducted before tax calculations, thus reducing one’s taxable income - readOnly: true - posttax: - type: boolean - description: Whether the benefit is deducted after tax calculations. - readOnly: true - imputed: - type: boolean - description: Whether the benefit is considered imputed income. - readOnly: true - healthcare: - type: boolean - description: Whether the benefit is healthcare related. + description: The description of the document readOnly: true - retirement: + requires_signing: type: boolean - description: Whether the benefit is associated with retirement planning. - readOnly: true - yearly_limit: + description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. + draft: type: boolean - description: Whether the benefit has a government mandated yearly limit. If the benefit has a government mandated yearly limit, employees cannot be added to more than one benefit of this type. + description: If the document is in a draft state readOnly: true - category: - type: string - description: Category where the benefit belongs to. + year: + type: + - integer + - 'null' + description: The year of this document. This value is nullable and will not be present on all documents. readOnly: true - writable_by_application: - type: boolean - description: Whether this benefit can be written (created, updated, or destroyed). Returns true if the benefit type is permitted for the application, false otherwise. + quarter: + type: + - integer + - 'null' + description: The quarter of this document. This value is nullable and will not be present on all documents. readOnly: true x-examples: Example: - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - Supported-Benefits-List: - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - Company-Benefit-With-Employee-Benefits: - description: The representation of a company benefit. + uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b + title: Taxpayer Identification (Form W-9) + name: taxpayer_identification_form_w_9 + recipient_type: Contractor + recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 + signed_at: '2024-09-03T16:39:22.000-07:00' + description: Form W-9, Request for Taxpayer Identification Number and Certification + requires_signing: false + draft: false + year: + quarter: + x-tags: + - Documents + Document-Pdf: + title: Document Pdf type: object - x-examples: - Example: - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - catch_up_type: elective - employee_benefits: - - employee_uuid: ae44a0b2-3c89-41e1-91c8-5f8224a779ca - company_benefit_uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - active: true - deduct_as_percentage: false - employee_deduction: '3' - company_contribution: '0' - uuid: 9988f241-9aee-4383-bfca-eac79cf58135 - contribution: - type: amount - value: '0' properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - company_uuid: - type: string - description: The UUID of the company. - readOnly: true uuid: type: string - description: The UUID of the company benefit. - readOnly: true - benefit_type: - type: integer - description: The type of the benefit to which the company benefit belongs (same as benefit_id). + description: the UUID of the document readOnly: true - active: - type: boolean - default: true - description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. - description: + document_url: type: string - minLength: 1 - description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. - source: + description: the URL of the document + x-examples: + Example: + uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b + document_url: https://app.gusto-demo.com/assets/personal_documents/23/original.pdf?1724367941 + x-tags: + - Documents + Company-Industry-Selection-Required-Body: + type: object + properties: + title: + type: + - string + - 'null' + example: Computer Training + description: Industry title + naics_code: type: string - enum: - - internal - - external - - partnered - description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". + pattern: "^\\d{6}$" + example: '611420' + description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. + sic_codes: + type: array + description: A list of Standard Industrial Classification (SIC) codes, which are four digit numbers that categorize the industries that companies belong to based on their business activities. If sic_codes is not passed in, we will perform an internal lookup with `naics_code`. + items: + type: string + pattern: "^\\d{4}$" + example: '8243' + required: + - naics_code + Industry: + title: Industry + type: object + properties: + company_uuid: + type: string + description: Company UUID readOnly: true - partner_name: + title: type: - string - 'null' - description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". - readOnly: true - deletable: - type: boolean - description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner - supports_percentage_amounts: - type: boolean - description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. + example: Computer Training + description: Industry title readOnly: true - responsible_for_employer_taxes: - type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. - responsible_for_employee_w2: - type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. - catch_up_type: - description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. - anyOf: - - type: string - enum: - - elective - - deemed - - type: 'null' - employee_benefits: + naics_code: + type: + - string + - 'null' + example: '611420' + description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. + sic_codes: type: array + description: A list of Standard Industrial Classification (SIC) codes, which are four digit numbers that categorize the industries that companies belong to based on their business activities. If sic_codes is not passed in, we will perform an internal lookup with `naics_code`. items: - type: object - properties: - employee_uuid: - type: string - description: The UUID of the employee to which the benefit belongs. - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - active: - type: boolean - default: true - description: Whether the employee benefit is active. - deduct_as_percentage: - type: boolean - default: false - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - company_contribution: - type: string - description: The value of the company contribution - effective_date: - type: string - description: The date when the employee benefit becomes effective. If not provided, the benefit will be effective from 1970-01-01 (unix epoch). - expiration_date: - type: string - description: The date when the employee benefit expires. If not provided, the benefit will have no expiration date. - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - type: - type: string - description: |- - The company contribution scheme. - - "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. - - "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. - - "tiered": The company contribution varies according to the size of the employee deduction. - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - - type: object - properties: - tiers: - type: array - description: '' - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. - - Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. - - For example: - - If the first tier has a threshold of "3", and `rate` of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. - - If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. - threshold_delta: - type: string - description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. - required: - - uuid - Company-Benefit: - description: The representation of a company benefit. + type: string + example: '8243' + x-examples: + Example: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + naics_code: '611420' + sic_codes: + - '8243' + title: Computer Training + success_status: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + naics_code: '231208' + sic_codes: + - '1500' + title: Construction + x-tags: + - Industry + External-Payroll: + description: The representation of an external payroll. type: object - x-examples: - Example: - uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - benefit_type: 1 - active: true - description: Kaiser Permanente - enrollment_count: 2 - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - catch_up_type: elective + x-tags: + - External Payrolls + title: '' properties: - version: + uuid: type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - enrollment_count: - type: integer - description: The number of employees enrolled in the benefit, only returned when enrollment_count query param is set to true. + description: The UUID of the external payroll. readOnly: true company_uuid: type: string description: The UUID of the company. readOnly: true - uuid: + check_date: type: string - description: The UUID of the company benefit. + description: External payroll's check date. readOnly: true - benefit_type: - type: integer - description: The type of the benefit to which the company benefit belongs. + payment_period_start_date: + type: string + description: External payroll's pay period start date. readOnly: true - active: - type: boolean - default: true - description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. - description: + payment_period_end_date: type: string - minLength: 1 - description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. - source: + description: External payroll's pay period end date. + readOnly: true + status: type: string enum: - - internal - - external - - partnered - description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". + - unprocessed + - processed + description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. readOnly: true - partner_name: + external_payroll_items: + type: array + description: External payroll items for employees + readOnly: true + items: + type: object + properties: + employee_uuid: + type: string + earnings: + type: array + items: + type: object + properties: + amount: + type: string + format: float + hours: + type: string + format: float + earning_type: + type: string + earning_id: + type: integer + benefits: + type: array + items: + type: object + properties: + benefit_id: + type: integer + company_contribution_amount: + type: string + format: float + employee_deduction_amount: + type: string + format: float + taxes: + type: array + items: + type: object + properties: + tax_id: + type: integer + amount: + type: string + format: float + applicable_earnings: + type: array + description: Applicable earnings based on company provisioning. + readOnly: true + items: + type: object + properties: + earning_type: + type: string + earning_id: + type: number + name: + type: string + input_type: + type: string + category: + type: string + applicable_benefits: type: - - string + - array - 'null' - description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". + description: Applicable benefits based on company provisioning. readOnly: true - deletable: - type: boolean - description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner - supports_percentage_amounts: - type: boolean - description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. + items: + type: object + properties: + id: + type: integer + description: + type: string + active: + type: boolean + applicable_taxes: + type: array + description: Applicable taxes based on company provisioning. readOnly: true - responsible_for_employer_taxes: - type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. - responsible_for_employee_w2: - type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. - catch_up_type: - description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. - anyOf: - - type: string - enum: - - elective - - deemed - - type: 'null' - required: - - uuid - Earning-Type: - description: The representation of an earning type in Gusto. - type: object - x-examples: - success: - name: Cash Tips - uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - active: true - custom_earning_type: - name: Gym Membership Stipend - uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 - active: true - properties: - name: - type: string - description: The name of the earning type. - uuid: - type: string - description: The ID of the earning type. + items: + type: object + properties: + id: + type: integer + name: + type: string + employer_tax: + type: boolean + description: Some taxes may have an amount withheld from the employee and an amount withheld from the employer, e.g. Social Security. A `true` value indicates this is the employer's amount. + resident_tax: + type: boolean + description: Some taxes may have different rates or reporting requirements depending on if the employee is a resident or non-resident of the tax jurisdiction. + metadata: + type: object + description: Stores metadata of the external payroll. readOnly: true - active: - type: boolean - description: Whether the earning type is active. - x-tags: - - Earning Types + properties: + deletable: + type: boolean + description: Determines if the external payroll can be deleted. + readOnly: true + x-examples: + Example: + uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 + check_date: '2022-06-03' + payment_period_start_date: '2022-05-15' + payment_period_end_date: '2022-05-30' + status: unprocessed + external_payroll_items: + - employee_uuid: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca + earnings: + - amount: '10000.0' + hours: '0.0' + earning_type: CompanyPayType + earning_id: 1 + - amount: '500.0' + hours: '0.0' + earning_type: CompanyEarningType + earning_id: 4 + benefits: + - benefit_id: 22 + company_contribution_amount: '100.0' + employee_deduction_amount: '50.0' + - benefit_id: 25 + company_contribution_amount: '0.0' + employee_deduction_amount: '300.0' + taxes: + - tax_id: 1 + amount: '400.0' + - tax_id: 2 + amount: '60.0' + applicable_earnings: + - earning_type: CompanyPayType + earning_id: 1 + name: Regular Wages + input_type: amount + category: default + - earning_type: CompanyEarningType + earning_id: 4 + name: Cash Tips + input_type: amount + category: default + applicable_benefits: + - id: 22 + description: Kaiser + active: true + - id: 25 + description: HSA + active: true + applicable_taxes: + - id: 1 + name: Federal Income Tax + employer_tax: false + resident_tax: false + - id: 2 + name: Social Security + employer_tax: false + resident_tax: false + metadata: + deletable: true required: - uuid - Employee-Benefit-Base-Object: - description: '' + Webhook-Subscription: + description: The representation of webhook subscription. type: object + x-tags: + - Webhooks title: '' - additionalProperties: true properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - active: - type: boolean - default: true - description: Whether the employee benefit is active. - employee_deduction: + uuid: type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - deduct_as_percentage: - type: boolean - default: false - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction_annual_maximum: - type: - - string - - 'null' - description: The maximum employee deduction amount per year. A null value signifies no limit. - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - type: - type: string - description: |- - The company contribution scheme. - - "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. - - "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. - - "tiered": The company contribution varies according to the size of the employee deduction. - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - - type: object - properties: - tiers: - type: array - description: '' - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. - - Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. - - For example: - - If the first tier has a threshold of "3", and `rate` of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. - - If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. - threshold_delta: - type: string - description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. - elective: - type: boolean - description: Whether the company contribution is elective (aka matching). For "tiered" contribution types, this is always true. - default: false - company_contribution_annual_maximum: - type: - - string - - 'null' - description: The maximum company contribution amount per year. A null value signifies no limit. - limit_option: - type: - - string - - 'null' - description: |- - Some benefits require additional information to determine their limit. - - `Family` and `Individual` are applicable to HSA benefit. - - `Joint Filing or Single` and `Married and Filing Separately` are applicable to Dependent Care FSA benefit. - catch_up: - type: - - boolean - - 'null' - default: false - description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. - retirement_loan_identifier: - type: - - string - - 'null' - description: Identifier for a 401(k) loan assigned by the 401(k) provider - coverage_amount: - type: - - string - - 'null' - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - deduction_reduces_taxable_income: - description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' - anyOf: - - type: string - enum: - - unset - - reduces_taxable_income - - does_not_reduce_taxable_income - - type: 'null' - default: unset - coverage_salary_multiplier: - type: - - string - - 'null' - default: '0.00' - description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - company_contribution: + description: The UUID of the webhook subscription. + readOnly: true + url: type: string - default: '0.00' - description: The amount to be paid, per pay period, by the company. This field will not appear for tiered contribution types. - deprecated: true - contribute_as_percentage: - type: boolean - default: false - description: Whether the company_contribution value should be treated as a percentage to be added to each payroll. This field will not appear for tiered contribution types. - deprecated: true - effective_date: + description: The webhook subscriber URL. Updates will be POSTed to this URL. + readOnly: true + status: type: string - format: date - description: The date the employee benefit will start. - expiration_date: - type: - - string - - 'null' - format: date - description: The date the employee benefit will expire. A null value indicates the benefit will not expire. - Employee-Benefit: - description: The representation of an employee benefit. - type: object - title: '' - x-examples: - Example: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - company_contribution: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - retirement_loan_identifier: - deduct_as_percentage: false - contribute_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - contribution: - type: amount - value: '100.00' - elective: false - effective_date: '2025-01-01' - expiration_date: - Tiered Example: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - deduct_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - elective: true - contribution: - type: tiered - value: - tiers: - - rate: '100.0' - threshold: '2.0' - threshold_delta: '2.0' - - rate: '50.0' - threshold: '5.0' - threshold_delta: '3.0' - effective_date: '2025-01-01' - expiration_date: - allOf: - - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" - - type: object - additionalProperties: true - properties: - employee_uuid: - type: string - description: The UUID of the employee to which the benefit belongs. - readOnly: true - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - readOnly: true - uuid: - type: string - description: The UUID of the employee benefit. - readOnly: true + enum: + - pending + - verified + - removed + - unreachable + description: The status of the webhook subscription. + readOnly: true + subscription_types: + type: array + description: Receive updates for these types. + readOnly: false + items: + type: string + enum: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - Signatory + - TimeOffRequest + x-examples: + Example: + uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + url: https://partner-app.com/subscriber + status: verified + subscription_types: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - Signatory + Pending: + uuid: a1b2c3d4-5678-90ab-cdef-1234567890ab + url: https://partner-app.com/webhooks + status: pending + subscription_types: + - Company + - Employee required: - uuid - Employee-Benefit-For-Company-Benefit: - description: The representation of an employee benefit for a company benefit. + Webhook-Verification-Token-Response: + description: The response from requesting a webhook subscription verification token. type: object + x-tags: + - Webhooks title: '' - allOf: - - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" - - type: object - additionalProperties: true - properties: - employee_uuid: - type: string - description: The UUID of the employee to which the benefit belongs. - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - readOnly: true - uuid: - type: string - description: The UUID of the employee benefit. Required for updating an effective dated employee benefit. - action: - type: string - description: The action to perform on the employee benefit. Required for creating/updating an effective dated employee benefit. - enum: - - create - - update - required: - - employee_uuid - Employee-Pay-Stub: - description: The representation of an employee pay stub information. + properties: + message: + type: string + description: A message indicating the verification token has been sent. + x-examples: + Example: + message: Success! The subscriber will be notified with the verification token + External-Payroll-Basic: + description: The representation of an external payroll with minimal information. type: object + x-tags: + - External Payrolls + title: '' properties: uuid: type: string - description: The UUID of the employee pay stub. + description: The UUID of the external payroll. readOnly: true - check_date: + company_uuid: type: string - description: The check date of the pay stub. + description: The UUID of the company. readOnly: true - gross_pay: + check_date: type: string - description: The gross pay amount for the pay stub. + description: External payroll's check date. readOnly: true - net_pay: + payment_period_start_date: type: string - description: The net pay amount for the pay stub. + description: External payroll's pay period start date. readOnly: true - payroll_uuid: + payment_period_end_date: type: string - description: A unique identifier of the payroll to which the pay stub belongs. + description: External payroll's pay period end date. readOnly: true - check_amount: + status: type: string - description: The check amount for the pay stub. + enum: + - unprocessed + - processed + description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. readOnly: true - x-tags: - - Payrolls + x-examples: + Example: + uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 + check_date: '2022-06-03' + payment_period_start_date: '2022-05-15' + payment_period_end_date: '2022-05-30' + status: unprocessed required: - uuid - Pay-Period: - description: The representation of a pay period. + External-Payroll-Tax-Suggestions: + description: The representation of an external payroll with minimal information. type: object + x-tags: + - External Payrolls + title: '' properties: - start_date: + employee_uuid: type: string - description: The start date, inclusive, of the pay period. + description: The UUID of the employee. readOnly: true - end_date: - type: string - minLength: 1 - description: The end date, inclusive, of the pay period. - pay_schedule_uuid: + tax_suggestions: + type: array + description: Possible tax liabilities selections. + readOnly: true + items: + type: object + properties: + tax_id: + type: integer + description: The ID of the tax. + readOnly: true + amount: + type: string + description: Calculated tax amount. + readOnly: true + x-examples: + Example: + employee_uuid: d21848d5-446f-48a8-9430-30fbefeabda4 + tax_suggestions: + - tax_id: 1 + amount: '500.0' + - tax_id: 2 + amount: '100.0' + - tax_id: 4 + amount: '30.0' + Tax-Liabilities-Selections: + description: The representation of tax liabilities selections. + x-tags: + - External Payrolls + title: '' + type: object + properties: + tax_id: + type: integer + description: The ID of the tax. + readOnly: true + tax_name: type: string - description: A unique identifier of the pay schedule to which the pay period belongs. + description: The name of the tax. readOnly: true - payroll: - type: object - description: Information about the payroll for the pay period. - properties: - payroll_uuid: - type: string - readOnly: true - description: The UUID of the payroll for this pay period. - check_date: - type: string - description: The date on which employees will be paid for the payroll if the payroll is submitted on time. - readOnly: true - processed: - type: boolean - readOnly: true - description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. - payroll_deadline: - type: string - format: date-time - description: The date by which payroll should be run for employees to be paid on time. Payroll data, such as time and attendance data, should be submitted on or before this date. - readOnly: true - payroll_type: - type: string - description: Whether it is regular pay period or transition pay period. - enum: - - regular - - transition - readOnly: true + description: + type: + - string + - 'null' + description: A description of the tax, providing additional detail about the tax type. + readOnly: true + last_unpaid_external_payroll_uuid: + type: + - string + - 'null' + description: The UUID of last unpaid external payroll. + readOnly: true + possible_liabilities: + type: array + description: Possible tax liabilities selections. readOnly: true + items: + type: object + properties: + liability_amount: + type: string + description: Liability amount. + readOnly: true + payroll_check_date: + type: + - string + - 'null' + description: The external payroll check date. + readOnly: true + external_payroll_uuid: + type: + - string + - 'null' + description: The UUID of the external payroll. + readOnly: true x-examples: - typical_pay_period: - start_date: '2024-01-01' - end_date: '2024-01-15' - pay_schedule_uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - payroll: - payroll_uuid: 8c2e1ef2-7514-5b17-9879-d2ee8e35e38b - check_date: '2024-01-19' - processed: false - payroll_deadline: '2024-01-17T18:00:00Z' - payroll_type: regular - x-tags: - - Payrolls - Contribution-Exclusion: - description: The representation of a contribution exclusion for a company benefit. + Example: + tax_id: 1 + tax_name: Federal Income Tax + description: Employee Federal Income Tax + last_unpaid_external_payroll_uuid: + possible_liabilities: + - liability_amount: '0.0' + payroll_check_date: + external_payroll_uuid: + - liability_amount: '3000.0' + payroll_check_date: '2022-06-01' + external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 + External-Payroll-Create-Request: type: object + description: The request body for creating an external payroll. + x-tags: + - External Payrolls + required: + - check_date + - payment_period_start_date + - payment_period_end_date properties: - contribution_uuid: + check_date: type: string - description: The UUID of the contribution type. - example: '082dfd3e-5b55-11f0-bb42-ab7136ba04e2' - contribution_type: + format: date + description: The check date of the external payroll. + example: '2022-06-03' + payment_period_start_date: type: string - description: The name of the contribution type. - example: Bonus - excluded: - type: boolean - description: Whether this contribution type is excluded from the benefit. + format: date + description: The start date of the external payroll payment period. + example: '2022-05-15' + payment_period_end_date: + type: string + format: date + description: The end date of the external payroll payment period. + example: '2022-05-30' + External-Payroll-Update-Request: + type: object + description: The request body for updating an external payroll with employee payroll items. + x-tags: + - External Payrolls required: - - contribution_uuid - - contribution_type - - excluded + - external_payroll_items + properties: + replace_fields: + type: boolean + description: Patch update external payroll items when set to true, otherwise it will overwrite the previous changes. + external_payroll_items: + type: array + description: Payroll items for each employee in the external payroll. + items: + type: object + required: + - employee_uuid + properties: + employee_uuid: + type: string + format: uuid + description: The UUID of the employee. + example: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca + earnings: + type: array + description: Earnings for the employee. + items: + type: object + properties: + earning_type: + type: string + enum: + - CompanyPayType + - CompanyEarningType + description: The earning type class name. + example: CompanyPayType + earning_id: + type: integer + description: The ID of the earning type. + example: 1 + amount: + type: string + format: float + description: The earning amount in dollars. + example: '10000.00' + hours: + type: string + format: float + description: The number of hours worked. + example: '80.0' + benefits: + type: array + description: Benefits for the employee. + items: + type: object + properties: + benefit_id: + type: integer + description: The ID of the company benefit. + example: 22 + company_contribution_amount: + type: string + format: float + description: The company contribution amount in dollars. + example: '100.00' + employee_deduction_amount: + type: string + format: float + description: The employee deduction amount in dollars. + example: '50.00' + taxes: + type: array + description: Taxes for the employee. + items: + type: object + properties: + tax_id: + type: integer + description: The ID of the tax. + example: 1 + amount: + type: string + format: float + description: The tax amount in dollars. + example: '400.00' + Tax-Liability-Selections-Request: + type: object + description: The request body for updating tax liability selections. x-tags: - - Company Benefits - x-examples: - exclusion_bonus: - contribution_uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 - contribution_type: Bonus - excluded: false - exclusion_cash_tips: - contribution_uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - contribution_type: Cash Tips - excluded: false - exclusion_commission: - contribution_uuid: 60191999-004a-49d9-b163-630574433653 - contribution_type: Commission - excluded: false - exclusion_regular: - contribution_uuid: 75a7a827-1f2d-4d6f-94f2-514c1fc32b13 - contribution_type: Regular - excluded: false - exclusion_imputed: - contribution_uuid: eead3c7c-7964-4e3c-b609-670456127b09 - contribution_type: Life insurance imputed benefit - excluded: true - Created-At-Type: - type: string - format: date-time - description: Datetime for when the resource was created. - readOnly: true - Off-Cycle-Reason-Type: - anyOf: - - type: string - enum: - - Adhoc - - Benefit reversal - - Bonus - - Correction - - Dismissed employee - - Hired employee - - Wage correction - - Tax reconciliation - - Reversal - - Disability insurance distribution - - Transition from old pay schedule - - type: 'null' - description: The off-cycle reason. Only included for off-cycle payrolls. - readOnly: true - Auto-Pilot-Type: - type: boolean - description: Indicates whether the payroll is an auto pilot payroll - readOnly: true - Payroll-Employee-Compensations-Type: - allOf: - - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Base-Type" - - "$ref": "#/components/schemas/Versionable" - - type: object - properties: - version: - description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - deductions: - type: array - uniqueItems: false - description: An array of deductions for the employee. This field is included by default for regular payrolls in version `v2025-06-15` and later. - items: - type: object - properties: - name: - type: string - description: The name of the deduction. - amount: - type: number - description: The amount of the deduction for the pay period. - amount_type: - type: string - description: The amount type of the deduction for the pay period. Only present for unprocessed payrolls. - enum: - - fixed - - percent - uuid: - type: string - description: The UUID of the deduction. Only present for unprocessed payrolls. - updatable_via_payroll: - type: boolean - description: Whether the deduction can be updated via the payroll update endpoint. Only present for unprocessed payrolls. - readOnly: true - Payroll-Totals-Type: + - External Payrolls + required: + - liability_selections + properties: + liability_selections: + type: array + description: Tax liability selections to record for the company's external payrolls. + items: + type: object + required: + - tax_id + - last_unpaid_external_payroll_uuid + - unpaid_liability_amount + properties: + tax_id: + type: integer + description: The ID of the tax. + example: 1 + last_unpaid_external_payroll_uuid: + type: + - string + - 'null' + description: The UUID of the last external payroll with an unpaid liability for this tax. Set to `null` to indicate no liability. + example: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 + unpaid_liability_amount: + type: string + format: float + description: The total cumulative unpaid liability amount for this tax across all external payrolls up to and including the one specified by `last_unpaid_external_payroll_uuid`. + example: '47.5' + Admin: + title: Admin type: object - description: The subtotals for the payroll. + description: The representation of an admin user in Gusto. + x-examples: + Example: + uuid: 987058cc-23ee-46e9-81ef-5cee086cceca + first_name: John + last_name: Smith + email: jsmith99@gmail.com + phone: '8009360383' properties: - company_debit: - type: string - description: The total company debit for the payroll. - readOnly: true - net_pay_debit: - type: string - minLength: 1 - description: The total company net pay for the payroll. - tax_debit: - type: string - description: The total tax debit for the payroll. - readOnly: true - reimbursement_debit: - type: string - description: The total reimbursement debit for the payroll. - readOnly: true - child_support_debit: - type: string - description: The total child support debit for the payroll. - readOnly: true - reimbursements: - type: string - description: The total reimbursements for the payroll. - readOnly: true - net_pay: - type: string - description: The net pay amount for the payroll. - readOnly: true - gross_pay: - type: string - description: The gross pay amount for the payroll. - readOnly: true - employee_bonuses: - type: string - description: The total employee bonuses amount for the payroll. - readOnly: true - employee_commissions: + uuid: type: string - description: The total employee commissions amount for the payroll. - readOnly: true - employee_cash_tips: + description: The unique id of the admin. + email: type: string - description: The total employee cash tips amount for the payroll. - readOnly: true - employee_paycheck_tips: + description: The email of the admin for Gusto's system. + first_name: type: string - description: The total employee paycheck tips amount for the payroll. - readOnly: true - additional_earnings: + description: The first name of the admin. + last_name: type: string - description: The total additional earnings amount for the payroll. - readOnly: true - owners_draw: + description: The last name of the admin. + phone: + type: + - string + - 'null' + description: The phone number of the admin. + x-tags: + - Admins + required: + - uuid + Admin-Create-Request: + type: object + description: The request body for creating a company admin. + required: + - first_name + - last_name + - email + properties: + first_name: type: string - description: The total owner's draw for the payroll. - readOnly: true - check_amount: + description: The first name of the admin. + example: John + last_name: type: string - description: The total check amount for the payroll. - readOnly: true - employer_taxes: + description: The last name of the admin. + example: Smith + email: type: string - description: The total amount of employer paid taxes for the payroll. - readOnly: true - employee_taxes: + description: The email of the admin for Gusto's system. If the email matches an existing user, this will create an admin account for them. + example: jsmith99@gmail.com + Company: + title: Company + type: object + description: The representation of a company in Gusto. + properties: + ein: type: string - description: The total amount of employee paid taxes for the payroll. + description: The Federal Employer Identification Number of the company. readOnly: true - benefits: - type: string - description: The total amount of company contributed benefits for the payroll. + entity_type: + description: The tax payer type of the company. + anyOf: + - type: string + enum: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + - type: 'null' readOnly: true - employee_benefits_deductions: - type: string - description: The total amount of employee deducted benefits for the payroll. + contractor_only: + type: boolean + description: Whether the company only supports contractors. + tier: + type: + - string + - 'null' + description: The Gusto product tier of the company (not applicable to Embedded partner managed companies). readOnly: true - imputed_pay: + enum: + - simple + - plus + - premium + - core + - complete + - concierge + - contractor_only + - basic + is_suspended: + type: boolean + description: Whether or not the company is suspended in Gusto. Suspended companies may not run payroll. + company_status: type: string - description: The total amount of imputed pay for the payroll. + description: The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. + enum: + - Approved + - Not Approved + - Suspended readOnly: true - deferred_payroll_taxes: + uuid: type: string - description: The total amount of payroll taxes deferred for the payroll, such as allowed by the CARES act. + description: A unique identifier of the company in Gusto. readOnly: true - other_deductions: - type: string - description: The total amount of deductions for the payroll. - readOnly: true - Payroll-Company-Taxes-Type: - type: array - uniqueItems: false - description: An array of taxes applicable to this payroll in addition to taxes included in `employee_compensations`. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. - items: - type: object - properties: - name: - type: string - description: The tax name - employer: - type: boolean - description: Whether this tax is an employer or employee tax - amount: - type: string - description: The amount of this tax for the payroll - Payroll-Payment-Speed-Changed-Type: - type: object - description: Only applicable when a payroll is moved to four day processing instead of fast ach. - properties: - original_check_date: + name: type: string - description: Original check date when fast ach applies. + description: The name of the company. readOnly: true - current_check_date: + slug: type: string - description: Current check date. + description: The slug of the name of the company. readOnly: true - original_debit_date: - type: string - description: Original debit date when fast ach applies. + trade_name: + type: + - string + - 'null' + description: The trade name of the company. readOnly: true - current_debit_date: - type: string - description: Current debit date. + is_partner_managed: + type: boolean + description: Whether the company is fully managed by a partner via the API readOnly: true - reason: - type: string - description: The reason why the payroll is moved to four day. + is_high_risk_business: + type: boolean + description: Whether or not Gusto has identified the company as representing a high fraud risk. readOnly: true - Payroll-Payroll-Status-Meta-Type: - type: object - description: Information about the payroll's status and expected dates - properties: - cancellable: + is_marijuana_business: type: boolean - description: true if the payroll may be cancelled. + description: Whether or not the company is a marijuana-related business. readOnly: true - expected_check_date: - type: string - description: The date an employee will be paid if the payroll is submitted now. + pay_schedule_type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. readOnly: true - initial_check_date: - type: string - description: The normal check date for the associated pay period. + join_date: + type: + - string + - 'null' + description: Company's first invoiceable event date readOnly: true - expected_debit_time: - type: string - description: The time the employer's account will be debited if the payroll is submitted now. + funding_type: + description: Company's default funding type + anyOf: + - type: string + enum: + - ach + - reverse_wire + - wire_in + - partner_disbursement + - rtp + - line_of_credit + - type: 'null' + locations: + type: array + uniqueItems: false + description: The locations of the company. + items: + "$ref": "#/components/schemas/Company-Address" readOnly: true - payroll_late: - type: boolean - description: expected_check_date > initial_check_date. + compensations: + type: object + description: The available company-wide compensation rates for the company. + properties: + hourly: + type: array + uniqueItems: true + description: The available hourly compensation rates for the company. + items: + type: object + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the hourly compensation rate. + readOnly: true + name: + type: string + description: The name of the hourly compensation rate. + example: Overtime + readOnly: true + multiple: + type: number + description: The amount multiplied by the base rate of a job to calculate compensation. + example: 1.5 + readOnly: true + readOnly: true + readOnly: true + fixed: + type: array + uniqueItems: true + description: The available fixed compensation rates for the company. + items: + type: object + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the fixed compensation. + readOnly: true + name: + type: string + description: The name of the fixed compensation. + example: Bonus + readOnly: true + readOnly: true + paid_time_off: + type: array + uniqueItems: true + description: The available types of paid time off for the company. + items: + type: object + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the paid time off type. + readOnly: true + name: + type: string + example: Vacation Hours + description: The name of the paid time off type. + readOnly: true + readOnly: true + readOnly: true readOnly: true - initial_debit_cutoff_time: - type: string - description: Payroll must be submitted at or before this time to avoid late payroll. + primary_signatory: + type: + - object + - 'null' + description: The primary signatory of the company. + properties: + uuid: + type: string + readOnly: true + description: The UUID of the company's primary signatory. + first_name: + type: string + readOnly: true + description: The company's primary signatory's first name. + middle_initial: + type: + - string + - 'null' + readOnly: true + description: The company's primary signatory's middle initial. + last_name: + type: string + readOnly: true + description: The company's primary signatory's last name. + phone: + type: string + readOnly: true + description: The company's primary signatory's phone number. + email: + type: string + readOnly: true + description: The company's primary signatory's email address. + home_address: + type: object + properties: + street_1: + type: string + readOnly: true + street_2: + type: + - string + - 'null' + readOnly: true + city: + type: string + readOnly: true + state: + type: string + readOnly: true + zip: + type: string + readOnly: true + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: true + readOnly: true + description: The company's primary signatory's home address. readOnly: true - Payroll-Pay-Period-Type: + primary_payroll_admin: + type: object + description: The primary payroll admin of the company. + properties: + first_name: + type: string + readOnly: true + description: The company's primary payroll admin's first name. + last_name: + type: string + readOnly: true + description: The company's primary payroll admin's last name. + phone: + type: + - string + - 'null' + readOnly: true + description: The company's primary payroll admin's phone number. + email: + type: string + readOnly: true + description: The company's primary payroll admin's email address. + x-examples: + success_status: + uuid: c7a07c73-a703-4462-9343-1b181182b6e0 + name: Shoppe Studios LLC + trade_name: Record Shoppe + is_partner_managed: true + tier: complete + locations: + - street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + - street_1: 644 Fay Vista + street_2: Suite 842 + city: Richmond + state: VA + zip: '23218' + country: USA + active: true + ein: 00-0000001 + entity_type: C-Corporation + pay_schedule_type: by_department + join_date: '2024-01-15' + funding_type: ach + slug: shoppe-studios-llc + is_suspended: false + company_status: Approved + is_high_risk_business: false + is_marijuana_business: false + contractor_only: false + compensations: + hourly: + - uuid: 7da6b57d-22f9-11f1-ad28-0242ac100003 + name: Overtime + multiple: 1.5 + - uuid: 7da6b5ec-22f9-11f1-ad28-0242ac100003 + name: Double overtime + multiple: 2 + - uuid: 7da6b22f-22f9-11f1-ad28-0242ac100003 + name: Regular + multiple: 1 + - uuid: 7da6b3ac-22f9-11f1-ad28-0242ac100003 + name: Outstanding vacation + multiple: 1 + - uuid: 7da6b532-22f9-11f1-ad28-0242ac100003 + name: Holiday + multiple: 1 + - uuid: 7da6b44e-22f9-11f1-ad28-0242ac100003 + name: Emergency sick - self care + multiple: 1 + - uuid: 7da6b49d-22f9-11f1-ad28-0242ac100003 + name: Emergency sick - caring for others + multiple: 1 + - uuid: 7da6b4e6-22f9-11f1-ad28-0242ac100003 + name: FMLA Public Health Emergency Leave + multiple: 1 + fixed: + - uuid: 7da68d82-22f9-11f1-ad28-0242ac100003 + name: Bonus + - uuid: 7da69024-22f9-11f1-ad28-0242ac100003 + name: Commission + - uuid: 7da69104-22f9-11f1-ad28-0242ac100003 + name: Paycheck Tips + - uuid: 7da6918f-22f9-11f1-ad28-0242ac100003 + name: Cash Tips + - uuid: 7da69216-22f9-11f1-ad28-0242ac100003 + name: Correction Payment + - uuid: 7da692a6-22f9-11f1-ad28-0242ac100003 + name: Severance + - uuid: 7da69356-22f9-11f1-ad28-0242ac100003 + name: Minimum Wage Adjustment + - uuid: + name: Reimbursement + paid_time_off: + - uuid: 7dcdcb77-22f9-11f1-ad28-0242ac100003 + name: Vacation Hours + - uuid: 7dcdcc8b-22f9-11f1-ad28-0242ac100003 + name: Sick Hours + - uuid: + name: Holiday Hours + primary_signatory: + uuid: 2d7cd96f-e2fb-4db7-8c04-99ef531b4527 + first_name: Alda + middle_initial: '' + last_name: Carter + phone: '4160000000' + email: louie.hessel7757869450111547@zemlak.biz + home_address: + street_1: 524 Roob Divide + street_2: Suite 565 + city: San Francisco + state: CA + zip: '94107' + country: USA + primary_payroll_admin: + first_name: Ian + last_name: Labadie + phone: 1-565-710-7559 + email: louie.hessel7757869450111547@zemlak.biz + x-tags: + - Companies + required: + - uuid + Company-Onboarding-Status: + description: The representation of a company's onboarding status type: object - readOnly: true + title: '' + x-examples: + Example: + uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 + onboarding_completed: false + onboarding_steps: + - title: Add Your Company's Addresses + id: add_addresses + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Enter Your Federal Tax Information + id: federal_tax_setup + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Select Industry + id: select_industry + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Add Your Bank Account + id: add_bank_info + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Add Your Employees + id: add_employees + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: true + requirements: + - add_addresses + - title: Enter Your State Tax Information + id: state_setup + required: true + completed: false + completed_at: + skippable: false + requirements: + - add_addresses + - add_employees + - title: Select a Pay Schedule + id: payroll_schedule + required: true + completed: false + completed_at: + skippable: false + requirements: [] + - title: Sign Documents + id: sign_all_forms + required: true + completed: false + completed_at: + skippable: false + requirements: + - add_employees + - federal_tax_setup + - state_setup + - add_bank_info + - payroll_schedule + - title: Verify Your Bank Account + id: verify_bank_info + required: true + completed: false + completed_at: + skippable: false + requirements: + - add_bank_info + x-tags: + - Companies properties: - start_date: - type: string - description: The start date, inclusive, of the pay period. - readOnly: true - end_date: + uuid: type: string - description: The start date, inclusive, of the pay period. - readOnly: true - pay_schedule_uuid: - type: - - string - - 'null' - description: The UUID of the pay schedule for the payroll. - readOnly: true - Payroll-Withholding-Pay-Period-Type: - description: The payment schedule tax rate the payroll is based on. Only included for off-cycle payrolls. - readOnly: true - anyOf: - - type: string - enum: - - Every week - - Every other week - - Twice per month - - Monthly - - Quarterly - - Semiannually - - Annually - - type: 'null' - Payroll-Deadline-Type: - type: string - format: date-time - description: A timestamp that is the deadline for the payroll to be run in order for employees to be paid on time. If payroll has not been run by the deadline, a prepare request will update both the check date and deadline to reflect the soonest employees can be paid and the deadline by which the payroll must be run in order for said check date to be met. - readOnly: true - Payroll-Check-Date-Type: - type: string - description: The date on which employees will be paid for the payroll. - readOnly: true - Payroll-Processed-Type: - type: boolean - description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. - readOnly: true - Payroll-Processed-Date-Type: - type: - - string - - 'null' - description: The date at which the payroll was processed. Null if the payroll isn't processed yet. - readOnly: true - Payroll-Calculated-At-Type: - type: - - string - - 'null' - format: date-time - description: A timestamp of the last valid payroll calculation. Null if there isn't a valid calculation. - readOnly: true - Payroll-Payroll-Uuid-Type: - type: string - description: The UUID of the payroll. - readOnly: true - Payroll-Company-Uuid-Type: - type: string - description: The UUID of the company for the payroll. - readOnly: true - Payroll-Off-Cycle-Type: - type: boolean - description: Indicates whether the payroll is an off-cycle payroll - readOnly: true - Payroll-External-Type: - type: boolean - description: Indicates whether the payroll is an external payroll - readOnly: true - Payroll-Final-Termination-Payroll-Type: - type: boolean - description: Indicates whether the payroll is the final payroll for a terminated employee. Only included for off-cycle payrolls. - readOnly: true - Payroll-Skip-Regular-Deductions-Type: - type: - - boolean - - 'null' - description: Block regular deductions and contributions for this payroll. Only included for off-cycle payrolls. - readOnly: true - Payroll-Fixed-Withholding-Rate-Type: - type: - - boolean - - 'null' - description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only included for off-cycle payrolls. - readOnly: true - Payroll-Fixed-Compensation-Types-Type: - type: array - items: - type: object - readOnly: true - properties: - name: - description: The name of an available type of fixed compensation. - type: string - readOnly: true - Payroll-Submission-Blockers-Type: - type: array - description: Only included for processed or calculated payrolls - uniqueItems: true - items: - "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" - Payroll-Credit-Blockers-Type: - type: array - description: Only included for processed payrolls - uniqueItems: true - items: - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" - Reversal-Payroll-Uuids-Type: - type: array - description: Array of reversal payroll UUIDs, if applicable. - uniqueItems: true - items: - type: string - description: The UUID of the reversal payroll. - nullable: false - readOnly: true - Payroll-Processing-Request: - type: - - object - - 'null' + description: the UUID of the company + onboarding_completed: + type: boolean + description: a boolean flag for the company's onboarding status + onboarding_steps: + type: array + description: a list of company onboarding steps + items: + title: Onboarding step + type: object + properties: + title: + type: string + description: The display name of the onboarding step + id: + type: string + description: The string identifier for each onboarding step + enum: + - add_addresses + - federal_tax_setup + - select_industry + - add_bank_info + - add_employees + - state_setup + - payroll_schedule + - sign_all_forms + - verify_bank_info + - external_payroll + required: + type: boolean + description: The boolean flag indicating whether the step is required or optional + completed: + type: boolean + description: The boolean flag indicating whether the step is completed or not. + completed_at: + type: + - string + - 'null' + description: The ISO 8601 timestamp indicating when the onboarding step was completed. + skippable: + type: boolean + description: The boolean flag indicating whether the step can be skipped or not. + requirements: + type: array + description: A list of onboarding steps that are required to be completed in order to proceed with the current onboarding step. + items: + type: string + enum: + - add_addresses + - federal_tax_setup + - select_industry + - add_bank_info + - add_employees + - state_setup + - payroll_schedule + - sign_all_forms + - verify_bank_info + - external_payroll + required: + - uuid + Payment-Configs: + title: Payment-Configs + type: object properties: - status: + company_uuid: type: string - description: The status of the payroll processing request + description: Company uuid + readOnly: true + partner_uuid: + type: string + description: Partner uuid readOnly: true + fast_payment_limit: + type: + - string + - 'null' + description: Payment limit for 1-day or 2-day payroll (string representation of decimal). + readOnly: true + payment_speed: + type: string enum: - - calculating - - calculate_success - - submitting - - submit_success - - processing_failed - errors: - description: Errors that occurred during async payroll processing + - 1-day + - 2-day + - 4-day + description: | + Payment speed. READ-ONLY. + - `1-day`: Next-day ACH (only for partners that opt in). + - `2-day`: Two-day ACH. + - `4-day`: Standard ACH. + readOnly: true + partner_owned_disbursement: + type: boolean + description: Whether the company is configured to use the partner-owned disbursement payment rail readOnly: true + earned_fast_ach_blockers: type: array + description: Blockers preventing the company from earning fast ACH payments + readOnly: true items: - "$ref": "#/components/schemas/Entity-Error-Object" - Payroll: - type: object + type: object + properties: + blocker_type: + type: string + description: The type of blocker + enum: + - minimum_days + - minimum_funded_payments + readOnly: true + threshold: + type: number + description: The threshold needed to unblock + readOnly: true x-examples: - success_status: - uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - employee_compensations: [] - submission_blockers: [] - credit_blockers: [] - payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - company_uuid: 9aa93530-43d5-484e-b608-33214109420d - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-16' - calculated_at: '2025-06-16T16:58:03Z' - pay_period: - start_date: '2025-05-25' - end_date: '2025-06-09' - pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 - check_date: '2025-06-13' - external: false - payroll_deadline: '2025-06-17T23:00:00Z' - totals: - employee_bonuses: '0.00' - employee_commissions: '0.00' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - benefits: '0.00' - check_amount: '0.00' - child_support_debit: '0.00' - company_debit: '0.00' - deferred_payroll_taxes: '0.00' - employee_benefits_deductions: '0.00' - employee_taxes: '0.00' - employer_taxes: '0.00' - gross_pay: '0.00' - imputed_pay: '0.00' - net_pay: '0.00' - net_pay_debit: '0.00' - other_deductions: '0.00' - reimbursement_debit: '0.00' - reimbursements: '0.00' - tax_debit: '0.00' - payroll_status_meta: - cancellable: false - expected_check_date: '2025-06-13' - initial_check_date: '2025-06-13' - expected_debit_time: '2025-06-17T23:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2025-06-17T23:00:00Z' - processing_request: - status: submit_success - errors: [] - created_at: '2025-06-16T16:58:03Z' - partner_owned_disbursement: + typical_payment_config: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 + fast_payment_limit: '5000.0' + payment_speed: 2-day + partner_owned_disbursement: false + earned_fast_ach_blockers: [] + payment_config_with_blockers: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 + fast_payment_limit: + payment_speed: 2-day + partner_owned_disbursement: false + earned_fast_ach_blockers: + - blocker_type: minimum_days + threshold: 15 + - blocker_type: minimum_funded_payments + threshold: 5 + x-tags: + - Payment Configs + Payment-Configs-Update-Request: + type: object + description: Request body for updating company payment configs. At least one of payment_speed, fast_payment_limit, or partner_owned_disbursement is required. properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - totals: - "$ref": "#/components/schemas/Payroll-Totals-Type" - company_taxes: - "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" - payroll_taxes: - "$ref": "#/components/schemas/Payroll-Taxes-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - submission_blockers: - "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" - credit_blockers: - "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" - processing_request: - "$ref": "#/components/schemas/Payroll-Processing-Request" - partner_owned_disbursement: - "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" - Payroll-Prepared: - description: The response from preparing a payroll for update. Contains refreshed employee compensations, updated payroll dates, and version information needed for subsequent payroll updates. + payment_configs: + type: object + properties: + payment_speed: + type: string + enum: + - 1-day + - 2-day + - 4-day + description: Desired payment speed. 1-day is only applicable to partners that opt in. + fast_payment_limit: + type: + - number + - 'null' + description: Payment limit for 1-day or 2-day payroll (in dollars). + partner_owned_disbursement: + type: boolean + description: Whether to use the partner-owned disbursement payment rail. x-examples: - success_status: - uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 - employee_compensations: [] - payroll_uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 - company_uuid: 42b5333b-ee39-493a-bf7e-f41f2bd67848 - payroll_status_meta: - cancellable: false - expected_check_date: '2025-06-17' - initial_check_date: '2025-06-17' - expected_debit_time: '2025-06-11T23:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2025-06-11T23:00:00Z' - off_cycle: true - auto_pilot: false - off_cycle_reason: Bonus - withholding_pay_period: Twice per month - skip_regular_deductions: true - fixed_withholding_rate: true - final_termination_payroll: false - processed: false - processed_date: - calculated_at: - pay_period: - start_date: '2025-06-10' - end_date: '2025-06-16' - pay_schedule_uuid: - check_date: '2025-06-17' - external: false - payroll_deadline: '2025-06-11T23:00:00Z' - fixed_compensation_types: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Reimbursement - created_at: '2025-06-11T19:40:52Z' - partner_owned_disbursement: + update_payment_speed_and_limit: + payment_configs: + payment_speed: 2-day + fast_payment_limit: 1000 + update_payment_speed_only: + payment_configs: + payment_speed: 4-day + Contractor-Body: type: object properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - employee_compensations: - type: array - uniqueItems: false - items: - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - fixed_compensation_types: - "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" - processing_request: - "$ref": "#/components/schemas/Payroll-Processing-Request" - partner_owned_disbursement: - "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" - Payroll-Minimal: - description: '' + type: + type: string + description: The contractor type. + default: Individual + enum: + - Individual + - Business + wage_type: + type: string + description: 'The contractor’s wage type. + +' + enum: + - Fixed + - Hourly + start_date: + type: string + description: 'The day when the contractor will start working for the company. + +' + example: '2020-01-11' + hourly_rate: + type: string + description: The contractor’s hourly rate. This attribute is required if the wage_type is `Hourly`. + example: '40.0' + self_onboarding: + type: boolean + default: false + description: |- + Whether the contractor or the payroll admin will complete onboarding in Gusto. + Self-onboarding is recommended so that contractors receive Gusto accounts. + If self_onboarding is true, then email is required. + email: + type: string + description: The contractor’s email address. + first_name: + type: string + description: |- + The contractor’s first name. + This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. + last_name: + type: string + description: |- + The contractor’s last name. + This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. + middle_initial: + type: string + description: |- + The contractor’s middle initial. + This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. + file_new_hire_report: + type: boolean + default: false + description: |- + The boolean flag indicating whether Gusto will file a new hire report for the contractor. + This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. + work_state: + type: + - string + - 'null' + description: |- + State where the contractor will be conducting the majority of their work for the company. + This value is used when generating the new hire report. + This attribute is required for `Individual` contractors if `file_new_hire_report` is true and will be ignored for `Business` contractors. + ssn: + type: string + pattern: "[0-9]{9}" + description: |- + This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. + Social security number is needed to file the annual 1099 tax form. + business_name: + type: string + description: The name of the contractor business. This attribute is required for `Business` contractors and will be ignored for `Individual` contractors. + ein: + type: string + description: |- + The employer identification number of the contractor business. + This attribute is optional for `Business` contractors and will be ignored for `Individual` contractors. + is_active: + type: boolean + description: The status of the contractor. If the contractor's start date is in the future, updating this field to true means we are setting the start date to today. Attempting to deactivate a contractor while a dismissal is already scheduled, or reactivate while a rehire is already scheduled, will return a 422 error. Cancel the pending transition first using the appropriate cancel endpoint. + Contractor-Update-Request-Body: + description: Request body for updating a contractor. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Contractor-Body" + x-examples: + update_individual_contractor: + version: b48c46abfed1487b873b442334b3c4ff + start_date: '2021-01-01' + first_name: Chanel + last_name: Boyle + middle_initial: X + wage_type: Hourly + hourly_rate: '20.00' + is_active: true + update_business_contractor: + version: b48c46abfed1487b873b442334b3c4ff + start_date: '2020-01-11' + business_name: Contracting Solutions + ein: '991113334' + wage_type: Fixed + is_active: false + Contractor-Create-Request-Body: + description: Request body for creating a contractor. type: object - x-tags: - - Payrolls - properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - totals: - "$ref": "#/components/schemas/Payroll-Totals-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - submission_blockers: - "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" - credit_blockers: - "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" - reversal_payroll_uuids: - "$ref": "#/components/schemas/Reversal-Payroll-Uuids-Type" required: - - company_uuid - - uuid - - payroll_uuid - - processed - Payroll-Blocker: + - type + - wage_type + - start_date + allOf: + - "$ref": "#/components/schemas/Contractor-Body" + x-examples: + create_individual_contractor: + type: Individual + wage_type: Fixed + first_name: Johnson + last_name: Johnson + start_date: '2020-04-01' + self_onboarding: true + email: johnson@johnson.com + file_new_hire_report: true + work_state: CA + create_business_contractor: + type: Business + wage_type: Fixed + business_name: Johnson-Johnson Contractors + start_date: '2020-04-01' + Contractor-Onboarding-Status-Update-Request-Body: + description: Request body for updating a contractor's onboarding status. + type: object + required: + - onboarding_status + properties: + onboarding_status: + type: string + description: The updated onboarding status for the contractor. + enum: + - admin_onboarding_incomplete + - admin_onboarding_review + - self_onboarding_not_invited + - self_onboarding_invited + - self_onboarding_started + - self_onboarding_review + - onboarding_completed + x-examples: + update_onboarding_status: + onboarding_status: onboarding_completed + Contractor: + description: The representation of a contractor (individual or business) in Gusto. type: object - required: - - key - - message properties: - key: + uuid: + type: string + description: The UUID of the contractor in Gusto. + readOnly: true + company_uuid: + type: string + description: The UUID of the company the contractor is employed by. + readOnly: true + wage_type: type: string - description: A unique identifier for the payroll blocker reason. For a complete list of blockers and their meanings, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers). enum: - - company_ownership_required - - contractor_only_company - - eftps_in_error - - geocode_error - - geocode_needed - - invalid_signatory - - missing_addresses - - missing_bank_info - - missing_bank_verification - - missing_employee_setup - - missing_federal_tax_setup - - missing_forms - - missing_industry_selection - - missing_pay_schedule - - missing_signatory - - missing_state_tax_setup - - needs_approval - - needs_onboarding - - pay_schedule_setup_not_complete - - pending_information_request - - pending_payroll_review - - pending_recovery_case - - soft_suspended - - suspended - example: needs_approval - message: + - Fixed + - Hourly + description: The contractor's wage type, either "Fixed" or "Hourly". + is_active: + type: boolean + default: true + description: The status of the contractor with the company. + readOnly: true + version: type: string - description: A human-readable message describing the payroll blocker and what action is needed to resolve it. - example: Company needs to be approved to run payroll. + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + type: + type: string + enum: + - Individual + - Business + description: 'The contractor''s type, either "Individual" or "Business". ' + first_name: + type: + - string + - 'null' + description: The contractor’s first name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. + last_name: + type: + - string + - 'null' + description: The contractor’s last name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. + middle_initial: + type: + - string + - 'null' + description: The contractor’s middle initial. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. + business_name: + type: + - string + - 'null' + description: The name of the contractor business. This attribute is required for “Business” contractors and will be ignored for “Individual” contractors. + ein: + type: + - string + - 'null' + description: The Federal Employer Identification Number of the contractor business. This attribute is optional for “Business” contractors and will be ignored for “Individual” contractors. + has_ein: + type: + - boolean + - 'null' + description: Whether company's Employer Identification Number (EIN) is present + email: + type: + - string + - 'null' + description: 'The contractor’s email address. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. ' + start_date: + type: string + description: The contractor's start date. + readOnly: true + address: + type: + - object + - 'null' + description: The contractor’s home address. + properties: + street_1: + type: string + readOnly: true + street_2: + type: + - string + - 'null' + readOnly: true + city: + type: string + readOnly: true + state: + type: string + readOnly: true + zip: + type: string + readOnly: true + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: true + readOnly: true + hourly_rate: + type: string + example: '50.0' + description: The contractor’s hourly rate. This attribute is required if the wage_type is “Hourly”. + file_new_hire_report: + type: + - boolean + - 'null' + description: The boolean flag indicating whether Gusto will file a new hire report for the contractor + work_state: + type: + - string + - 'null' + description: |- + State where the contractor will be conducting the majority of their work for the company. + This value is used when generating the new hire report. + onboarded: + type: boolean + description: The updated onboarding status for the contractor + onboarding_status: + type: string + description: One of the "onboarding_status" enum values. + enum: + - admin_onboarding_incomplete + - admin_onboarding_review + - self_onboarding_not_invited + - self_onboarding_invited + - self_onboarding_started + - self_onboarding_review + - onboarding_completed + payment_method: + anyOf: + - type: string + enum: + - Direct Deposit + - Check + - type: 'null' + description: The contractor's payment method. + has_ssn: + type: boolean + description: Indicates whether the contractor has an SSN in Gusto. + department_uuid: + type: + - string + - 'null' + description: The UUID of the department the contractor is under + department: + type: + - string + - 'null' + description: The contractor's department in the company. + readOnly: true + department_title: + type: + - string + - 'null' + description: The title of the contractor's department. + readOnly: true + dismissal_date: + type: + - string + - 'null' + description: The contractor's dismissal date. + readOnly: true + upcoming_employment: + type: + - object + - 'null' + description: The contractor's upcoming employment details, if a rehire is scheduled. + readOnly: true + properties: + start_date: + type: string + description: The start date of the upcoming employment. + setup_status: + type: + - string + - 'null' + description: The setup status of the upcoming employment. + dismissal_cancellation_eligible: + type: boolean + description: Whether the contractor's pending dismissal can be cancelled. + readOnly: true + rehire_cancellation_eligible: + type: boolean + description: Whether the contractor's pending rehire can be cancelled. + readOnly: true + member_portal_invitation_status: + type: + - object + - 'null' + description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. + properties: + status: + type: string + description: The current status of the member portal invitation. + enum: + - pending + - sent + - verified + - complete + - cancelled + token_expired: + type: + - boolean + - 'null' + description: Whether the invitation token has expired. + welcome_email_sent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the welcome email was sent. + last_password_resent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the password reset was last resent. + partner_portal_invitation_sent: + type: + - boolean + - 'null' + description: Whether an external partner portal invitation webhook has been sent for this contractor. Only included when the include param has the portal_invitations value set. + x-tags: + - Contractors + required: + - uuid x-examples: - blockers_list: - key: needs_approval - message: Company needs to be approved to run payroll. - empty_blockers_list: [] - Payroll-Check: + Individual Contractor: + uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 + company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 + wage_type: Hourly + start_date: '2022-01-01' + is_active: true + version: 63859768485e218ccf8a449bb60f14ed + type: Individual + first_name: Kory + last_name: Gottlieb + middle_initial: P + business_name: + ein: + has_ein: false + has_ssn: true + department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 + email: keira.west@mckenzie.org + file_new_hire_report: true + work_state: FL + onboarded: true + onboarding_status: onboarding_completed + address: + street_1: 621 Jast Row + street_2: Apt. 281 + city: Coral Springs + state: FL + zip: '33065' + country: USA + hourly_rate: '60.00' + payment_method: Direct Deposit + department: Engineering + department_title: Engineering + dismissal_date: + upcoming_employment: + dismissal_cancellation_eligible: false + rehire_cancellation_eligible: false + member_portal_invitation_status: + status: sent + token_expired: false + welcome_email_sent_at: '2024-01-15T14:30:00Z' + last_password_resent_at: + partner_portal_invitation_sent: true + Business Contractor: + uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c + company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f + wage_type: Fixed + start_date: '2022-01-01' + is_active: true + version: 8aab307f1e8ed788697f8986346af559 + type: Business + first_name: + last_name: + middle_initial: + business_name: Labadie-Stroman + ein: XX-XXX0001 + has_ein: true + has_ssn: false + email: jonatan@kerluke.info + file_new_hire_report: false + work_state: + onboarded: true + onboarding_status: onboarding_completed + address: + street_1: 1625 Bednar Center + street_2: Apt. 480 + city: Port Charlotte + state: FL + zip: '33954' + country: USA + hourly_rate: '0.00' + payment_method: Direct Deposit + department_uuid: + department: + department_title: + dismissal_date: + upcoming_employment: + dismissal_cancellation_eligible: false + rehire_cancellation_eligible: false + member_portal_invitation_status: + partner_portal_invitation_sent: false + Contractor-Onboarding-Status: + description: The representation of an contractor's onboarding status. type: object + title: Contractor-Onboarding-Status + x-tags: + - Contractor + x-examples: + example: + uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + onboarding_status: admin_onboarding_incomplete + onboarding_steps: + - title: Basic details + id: basic_details + required: true + completed: false + requirements: [] + - title: Enter compensation details + id: compensation_details + required: true + completed: false + requirements: [] + - title: Add an address + id: add_address + required: true + completed: false + requirements: [] + - title: Payment details + id: payment_details + required: true + completed: false + requirements: [] + - title: Sign and acknowledge documents + id: sign_documents + required: false + completed: false + requirements: + - basic_details + - add_address + - title: File new hire report + id: file_new_hire_report + required: false + completed: false + requirements: + - basic_details properties: - payroll_uuid: - type: string - description: A unique identifier of the payroll. - printing_format: - type: string - description: The format the checks will be printed. - starting_check_number: - type: - - integer - - 'null' - description: The starting check number for the checks being printed. - request_uuid: + uuid: type: string - description: A unique identifier of the Generated Document request - status: + description: Unique identifier for this contractor. + onboarding_status: type: string - description: Current status of the Generated Document - employee_check_number_mapping: + description: One of the "onboarding_status" enum values. + enum: + - onboarding_completed + - admin_onboarding_review + - admin_onboarding_incomplete + - self_onboarding_not_invited + - self_onboarding_invited + - self_onboarding_started + - self_onboarding_review + onboarding_steps: type: array - description: An array of mapping employee uuids to their check numbers + description: List of steps required to onboard a contractor. items: + title: Onboarding step type: object properties: - employee_uuid: + title: type: string - description: The UUID for an employee - check_number: - type: number - description: The check number for the relevant employee + description: User-friendly description of the onboarding step. + id: + type: string + description: String identifier for the onboarding step. + required: + type: boolean + description: When true, this step is required. + completed: + type: boolean + description: When true, this step has been completed. + requirements: + type: array + description: A list of onboarding steps required to begin this step. + items: + type: string + required: + - uuid + Contractor-Payment: + description: The representation of a single contractor payment. + type: object x-examples: + success_status: + uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037, + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + may_cancel: true + status: Funded + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' example: - payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 - printing_format: top - starting_check_number: 10 - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: pending - employee_check_number_mapping: - - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - check_number: 10 - Generated-Document: - type: object + uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + may_cancel: false + status: Funded + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + title: Contractor Payment properties: - request_uuid: + uuid: + type: string + description: The unique identifier of the contractor payment in Gusto. + readOnly: true + contractor_uuid: + type: string + description: The UUID of the contractor. + readOnly: true + bonus: + type: string + format: float + description: The bonus amount in the payment. + readOnly: true + date: + type: string + description: The payment date. + readOnly: true + hours: + type: string + format: float + description: The number of hours worked for the payment. + readOnly: true + payment_method: + type: string + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + readOnly: true + reimbursement: type: string - description: A unique identifier of the Generated Document request + format: float + description: The reimbursement amount in the payment. + readOnly: true status: type: string - description: Current status of the Generated Document + description: Contractor payment status enum: - - pending - - started - - succeeded - - failed - document_urls: - type: array - description: The array of urls to access the documents. - items: - type: string - x-examples: - Example: - status: succeeded - document_urls: - - https://document.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - pending: - status: pending - document_urls: [] - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - Report: - type: object - properties: - request_uuid: + - Funded + - Unfunded + hourly_rate: type: string - description: A unique identifier of the report request - status: + format: float + description: The rate per hour worked for the payment. + readOnly: true + may_cancel: + type: boolean + description: Determine if the contractor payment can be cancelled. + readOnly: true + wage: type: string - description: Current status of the report, possible values are 'succeeded', 'pending', or 'failed' - report_urls: - type: array - description: The array of urls to access the report - items: - type: string - x-examples: - example: - status: succeeded - report_urls: - - https://report.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - Create-Report: - type: object - properties: - request_uuid: + format: float + description: The fixed wage of the payment, regardless of hours worked. + readOnly: true + wage_type: type: string - description: A unique identifier of the report request - company_uuid: + description: The wage type for the payment. + enum: + - Hourly + - Fixed + readOnly: true + wage_total: type: string - description: Company UUID - custom_name: + format: float + description: "(hours * hourly_rate) + wage + bonus" + readOnly: true + invoice_number: type: - string - 'null' - description: Title of the report - file_type: - type: string - description: File type - x-examples: - example: - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - company_uuid: w83d0ca8-7d41-42a9-834y-7d218ef6cb20 - custom_name: Custom Report - file_type: csv - Report-Template: - type: object - properties: - columns: - type: array - description: List of columns recommended - items: - type: string - groupings: - type: array - description: List of groupings recommended - items: - type: string - company_uuid: - type: string - description: Company UUID - report_type: - type: string - description: Type of report template - x-examples: - example: - columns: - - regular_rate - - regular_hours - - regular_earnings - groupings: - - payroll - - employee - company_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - report_type: payroll_journal - Payroll-Receipt: + description: An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + readOnly: true + memo: + type: + - string + - 'null' + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + readOnly: true + x-tags: + - Contractor Payments + required: + - uuid + Contractor-Payment-Body: + description: Request body for creating a contractor payment. type: object - x-examples: - success_status: - totals: - company_debit: '0.00' - net_pay_debit: '0.00' - child_support_debit: '0.00' - reimbursement_debit: '0.00' - tax_debit: '0.00' - taxes: [] - employee_compensations: [] - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - payroll_uuid: 9f624c0d-0d4f-499a-993a-846dfa47a48e - company_uuid: '0481a066-e26a-465b-a2c1-933bd5b03a69' - name_of_sender: Kiehn, Conroy and Prohaska - name_of_recipient: Payroll Recipients - recipient_notice: Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below. - debit_date: '2025-06-12' - license: ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses + required: + - contractor_uuid + - date properties: - payroll_uuid: - type: string - description: A unique identifier of the payroll receipt. - company_uuid: + contractor_uuid: type: string - description: A unique identifier of the company for the payroll. - name_of_sender: + description: The contractor receiving the payment. + date: type: string - description: The name of the company by whom the payroll was paid - name_of_recipient: + format: date + description: Date of contractor payment. + example: '2020-01-01' + payment_method: type: string - description: Always the fixed string "Payroll Recipients" - recipient_notice: + enum: + - Direct Deposit + - Check + - Historical Payment + default: Direct Deposit + wage: type: string - description: Always the fixed string "Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below." - debit_date: + format: float + description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked. + example: '5000' + hours: type: string - description: The debit or funding date for the payroll - license: + format: float + description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment. + example: '40' + bonus: type: string - description: Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page." - license_uri: + format: float + description: If the contractor is on an hourly wage, this is the bonus the contractor earned. + example: '500' + reimbursement: type: string - description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" - right_to_refund: + format: float + description: Reimbursed wages for the contractor. + example: '20' + invoice_number: type: string - description: '' - liability_of_licensee: + description: An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + maxLength: 25 + example: INV-001 + memo: type: string - description: '' - totals: - type: object - description: The subtotals for the payroll. - properties: - company_debit: - type: string - format: float - description: The total company debit for the payroll. - net_pay_debit: - type: string - format: float - description: The total company net pay for the payroll. - child_support_debit: - type: string - format: float - description: The total child support debit for the payroll. - reimbursement_debit: - type: string - format: float - description: The total reimbursements for the payroll. - tax_debit: - type: string - format: float - description: The total tax debit for the payroll. - taxes: - type: array - description: An array of totaled employer and employee taxes for the pay period. - items: - type: object - properties: - name: - type: string - description: The amount paid for this tax. - amount: - type: string - format: float - description: The total amount paid by both employer and employee for this tax. - employee_compensations: + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + example: Payment for consulting services + x-tags: + - Contractor Payments + Contractor-Payments-Preview-Body: + description: Request body for previewing contractor payments. The expected debit date for the payments is calculated from the provided check date and the company's ACH speed. + type: object + required: + - contractor_payments + properties: + contractor_payments: type: array - description: An array of employee compensations and withholdings for this payroll + description: A list of contractor payments to preview. items: type: object properties: - employee_uuid: - type: string - description: The UUID of the employee. - employee_first_name: + contractor_uuid: type: string - description: The first name of the employee. - employee_last_name: + description: The contractor receiving the payment. + date: type: string - description: The last name of the employee. + description: Date of the contractor payment (check date). payment_method: type: string - description: The employee's compensation payment method. enum: - Direct Deposit - Check - net_pay: - type: string - format: float - description: The employee's net pay. Net pay paid by check is available for reference but is not included in the `["totals"]["net_pay_debit"]` amount. - total_tax: - type: string - format: float - description: The total of employer and employee taxes for the pay period. - total_garnishments: - type: string - format: float - description: The total garnishments for the pay period. - child_support_garnishment: - type: string - format: float - description: The total child support garnishment for the pay period. - total_reimbursement: - type: string - format: float - description: The total reimbursement for the pay period. - licensee: - type: object - description: The licensed payroll processor - properties: - name: - type: string - description: Always the fixed string "Gusto, Zenpayroll Inc." - address: - type: string - description: Always the fixed string "525 20th St" - city: - type: string - description: Always the fixed string "San Francisco" - state: - type: string - description: Always the fixed string "CA" - postal_code: - type: string - description: Always the fixed string "94107" - phone_number: - type: string - description: Always the fixed string "4157778888" - Payroll-Reversal: - type: object - properties: - reversed_payroll_uuid: - type: string - description: The UUID for the payroll run being reversed. - reversal_payroll_uuid: - type: - - string - - 'null' - description: The UUID of the payroll where the reversal was applied. - reason: - type: string - description: A reason provided by the admin who created the reversal. - approved_at: - type: - - string - - 'null' - description: Timestamp of when the reversal was approved. - category: - type: - - string - - 'null' - description: Category chosen by the admin who requested the reversal. - reversed_employee_uuids: - type: array - description: Array of affected employee UUIDs. - items: - type: string + - Historical Payment + description: The payment method. + wage: + type: integer + description: Fixed wage amount for the payment. + hours: + type: integer + description: Number of hours worked for the payment. + hourly_rate: + type: integer + description: Hourly rate for the payment. + bonus: + type: integer + description: Bonus amount for the payment. + reimbursement: + type: integer + description: Reimbursement amount for the payment. x-examples: Example: - reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' - reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' - reason: Customer Request - approved_at: - category: convert_check_ee_requested - reversed_employee_uuids: - - 5f036964-185e-4c85-bbf2-3873e1203b30 - Gross-Up-Pay: + contractor_payments: + - bonus: 0 + date: '2022-09-02' + contractor_uuid: 5376e95b-cca0-482b-bb81-aba5e360eb04 + hours: 0 + payment_method: Check + reimbursement: 0 + wage: 123 + hourly_rate: 0 + - bonus: 0 + date: '2022-09-02' + contractor_uuid: 0c984dce-de9a-47db-8bfb-5f0c823afe6f + hours: 0 + payment_method: Check + reimbursement: 0 + wage: 456 + hourly_rate: 0 + x-tags: + - Contractor Payments + Contractor-Payments-Preview: type: object + description: The expected debit date computed for a set of previewed contractor payments. properties: - gross_up: + expected_debit_date: type: string - format: float - description: Gross up earnings. - Contractor-Payment-Receipt: - type: object + format: date + description: The calculated debit date. If the payment method is Direct Deposit, the debit date will account for the company's ACH speed. If the payment method is Check, the debit date will be the same as the check date. x-examples: example: - contractor_payment_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - name_of_recipient: Patricia Hamill - debit_date: '2022-06-02' + expected_debit_date: '2022-08-16' + x-tags: + - Contractor Payments + Contractor-Payment-Group: + description: The full contractor payment group, including associated contractor payments. + type: object + allOf: + - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" + - type: object + properties: + partner_owned_disbursement: + type: + - boolean + - 'null' + description: Whether the disbursement is partner owned. + readOnly: true + submission_blockers: + type: array + description: List of submission blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + credit_blockers: + type: array + description: List of credit blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + check_amount: + type: string + description: The total check amount for the group of contractor payments. + readOnly: true + readOnly: true + contractor_payments: + type: array + items: + "$ref": "#/components/schemas/Contractor-Payment-For-Group" + x-examples: + success: + uuid: f693e034-d833-46e3-88d4-2c820c383c57 + company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + check_date: '2024-05-07' + debit_date: '2024-05-01' + status: Unfunded + creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed + contractor_payments: + - uuid: 630dc982-f498-4ebc-a6dc-4d76711027ce + contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 + bonus: '0.0' + hours: '40.0' + hourly_rate: '18.0' + may_cancel: false + payment_method: Direct Deposit + reimbursement: '75.0' + status: Unfunded + wage: '0.0' + wage_type: Hourly + wage_total: '720.0' + - uuid: 12f51eba-d653-4357-8c05-1f1f8d0fd5e3 + contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: false + payment_method: Check + reimbursement: '0.0' + status: Unfunded + wage: '1500.0' + wage_type: Fixed + wage_total: '1500.0' totals: - company_debit: '748.34' + amount: '2295.0' + debit_amount: '2295.0' + wage_amount: '2220.0' + reimbursement_amount: '75.0' + With submission blockers: + uuid: 5ec3b582-7d04-4397-be1e-f0e79d00e1b7 + company_uuid: 4a39b249-1e22-4fc9-a40f-cb07d2ab394e + check_date: '2025-08-21' + debit_date: '2025-08-19' + status: Unfunded + creation_token: 5ec3b582-7d04-4397-be1e-f0e79d00e1b7 + partner_owned_disbursement: false + submission_blockers: + - blocker_type: fast_ach_threshold_exceeded + blocker_name: Fast ACH Threshold Exceeded + selected_option: wire_in + status: resolved + unblock_options: + - unblock_type: wire_in + check_date: '2025-08-21' + metadata: + wire_in_deadline: '2025-08-21T18:00:00Z' + wire_in_amount: '760000.0' + - unblock_type: move_to_four_day + check_date: '2025-08-21' + metadata: + debit_date: '2025-08-15' + credit_blockers: + - blocker_type: waiting_for_wire_in + blocker_name: Waiting for Wire In + selected_option: submit_wire + status: unresolved + unblock_options: + - unblock_type: submit_wire + check_date: '2025-08-21' + metadata: + wire_in_deadline: '2025-08-21T18:00:00Z' + wire_in_amount: '760000.0' + wire_in_request_uuid: 7a31fef8-46c6-4114-9677-214b7a3cb532 contractor_payments: - - contractor_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - contractor_first_name: Patricia - contractor_last_name: Hamill - contractor_business_name: '' - contractor_type: Individual + - uuid: ca8c7899-c2dc-40bb-8b7e-08c1309f5135 + contractor_uuid: b4c6cd3c-4b45-4738-ad40-3da45b29a765 + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: false payment_method: Direct Deposit - wage: '448.34' - bonus: '248.00' - reimbursement: '100.00' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - license: Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses + reimbursement: '750000.0' + status: Unfunded + wage: '10000.0' + wage_type: Fixed + wage_total: '10000.0' + totals: + amount: '760000.00' + debit_amount: '760000.00' + wage_amount: '10000.00' + reimbursement_amount: '750000.00' + check_amount: '0.00' + x-tags: + - Contractor Payment Groups + Contractor-Payment-Group-Base: + description: Base properties for contractor payment groups. + type: object properties: - contractor_payment_uuid: + uuid: type: string - description: A unique identifier of the contractor payment receipt. + description: The unique identifier of the contractor payment group. + readOnly: true company_uuid: type: string - description: A unique identifier of the company making the contractor payment. - name_of_sender: - type: string - description: The name of the company making the contractor payment. - name_of_recipient: + description: The UUID of the company. + readOnly: true + check_date: type: string - description: The individual or company name of the contractor receiving payment. + description: The check date of the contractor payment group. + readOnly: true debit_date: type: string - description: The debit date for the contractor payment. - format: date - example: '2022-05-30' - license: - type: string - description: Always the fixed string "Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page." - license_uri: - type: string - description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" - right_to_refund: - type: string - description: URL for information related to right to refund. Always the fixed string "https://gusto.com/about/licenses" - liability_of_licensee: - type: string - description: URL for information related to right to liability of licensee. Always the fixed string "https://gusto.com/about/licenses" - totals: - type: object - description: The subtotals for the contractor payment. - properties: - company_debit: - type: string - description: The total company debit for the contractor payment. - contractor_payments: - type: array - description: An array of contractor payments for this contractor payment. - items: - type: object - properties: - contractor_uuid: - type: string - description: The UUID of the contractor. - contractor_first_name: - type: string - description: The first name of the contractor. Applies when `contractor_type` is `Individual`. - contractor_last_name: - type: string - description: The last name of the contractor. Applies when `contractor_type` is `Individual`. - contractor_business_name: - type: string - description: The business name of the contractor. Applies when `contractor_type` is `Business`. - contractor_type: - type: string - description: |- - The type of contractor. - - `Individual` `Business` - payment_method: - type: string - description: The payment method. - enum: - - Direct Deposit - - Check - - Historical Payment - - Correction Payment - wage: - type: string - description: The fixed wage of the payment, regardless of hours worked. - bonus: - type: string - description: The bonus amount in the payment. - reimbursement: - type: string - description: The reimbursement amount in the payment. - licensee: - type: object - description: The licensed payroll processor - properties: - name: - type: string - description: Always the fixed string "Gusto, Zenpayroll Inc." - address: - type: string - description: Always the fixed string "525 20th St" - city: - type: string - description: Always the fixed string "San Francisco" - state: - type: string - description: Always the fixed string "CA" - postal_code: - type: string - description: Always the fixed string "94107" - phone_number: - type: string - description: Always the fixed string "4157778888" - Custom-Field-Type: - type: string - description: Input type for the custom field. - enum: - - text - - currency - - number - - date - - radio - Employee-Custom-Field: - type: object - description: A custom field of an employee - properties: - id: - type: string - company_custom_field_id: - type: string - description: This is the id of the response object from when you get the company custom fields - name: + description: The debit date of the contractor payment group. + readOnly: true + status: type: string - type: - "$ref": "#/components/schemas/Custom-Field-Type" - description: + description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. + enum: + - Unfunded + - Funded + readOnly: true + creation_token: type: - string - 'null' - value: - type: string - selection_options: - type: - - array - - 'null' - description: An array of options for fields of type radio. Otherwise, null. - items: - type: string - required: - - id - - company_custom_field_id - - name - - type - - value + description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. + readOnly: true + Contractor-Payment-Group-With-Blockers: + description: Contractor payment group with submission and credit blockers, but without individual contractor payments. + type: object + allOf: + - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" + - type: object + properties: + partner_owned_disbursement: + type: + - boolean + - 'null' + description: Whether the disbursement is partner owned. + readOnly: true + submission_blockers: + type: array + description: List of submission blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + credit_blockers: + type: array + description: List of credit blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + check_amount: + type: string + description: The total check amount for the group of contractor payments. + readOnly: true + readOnly: true x-examples: - example_text_field: - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - example_radio_field: - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - Company-Custom-Field: + success: + uuid: 94d9698e-9c95-45d6-b66e-d208258666ab + company_uuid: 5f5aaa38-f517-4f56-85e4-afdb83321663 + check_date: '2025-09-22' + debit_date: '2025-09-18' + status: Unfunded + creation_token: 94d9698e-9c95-45d6-b66e-d208258666ab + partner_owned_disbursement: false + submission_blockers: + - blocker_type: fast_ach_threshold_exceeded + blocker_name: Fast ACH Threshold Exceeded + selected_option: wire_in + status: resolved + unblock_options: + - unblock_type: wire_in + check_date: '2025-09-22' + metadata: + wire_in_deadline: '2025-09-22T18:00:00Z' + wire_in_amount: '760000.0' + - unblock_type: move_to_four_day + check_date: '2025-09-22' + metadata: + debit_date: '2025-09-16' + credit_blockers: + - blocker_type: waiting_for_wire_in + blocker_name: Waiting for Wire In + selected_option: submit_wire + status: unresolved + unblock_options: + - unblock_type: submit_wire + check_date: '2025-09-22' + metadata: + wire_in_deadline: '2025-09-22T18:00:00Z' + wire_in_amount: '760000.0' + wire_in_request_uuid: 96ea4784-979a-45aa-9ccb-83be86b6dcea + totals: + amount: '760000.00' + debit_amount: '760000.00' + wage_amount: '10000.00' + reimbursement_amount: '750000.00' + check_amount: '0.00' + x-tags: + - Contractor Payment Groups + Contractor-Payment-Group-Minimal: + description: The summary of a contractor payment group. type: object - description: A custom field on a company + allOf: + - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" + - type: object + properties: + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + readOnly: true + x-examples: + success: + - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + check_date: '2024-03-15' + debit_date: '2024-03-11' + status: Funded + creation_token: a51a3500-3200-43af-a738-169d4b66a9db + totals: + debit_amount: '740.00' + wage_amount: '720.00' + reimbursement_amount: '20.00' + - uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + check_date: '2024-05-02' + debit_date: '2024-04-26' + status: Unfunded + creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed + totals: + debit_amount: '2365.00' + wage_amount: '2270.00' + reimbursement_amount: '95.00' x-tags: - - Custom Fields + - Contractor Payment Groups + Contractor-Payment-For-Group: + description: The representation of a single contractor payment. + type: object properties: uuid: type: string - description: UUID of the company custom field - name: + description: The unique identifier of the contractor payment in Gusto. + readOnly: true + contractor_uuid: type: string - description: Name of the company custom field - type: - "$ref": "#/components/schemas/Custom-Field-Type" - description: - type: - - string - - 'null' - description: Description of the company custom field - selection_options: - type: - - array - - 'null' - description: An array of options for fields of type radio. Otherwise, null. - items: - type: string - required: - - uuid - - name - - type - Rehire: - type: object - properties: - version: + description: The UUID of the contractor. + readOnly: true + bonus: type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - effective_date: + description: The bonus amount in the payment. + readOnly: true + hours: type: string - description: The day when the employee returns to work. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - work_location_uuid: + description: The number of hours worked for the payment. + readOnly: true + payment_method: type: string - description: The uuid of the employee's work location. - employment_status: + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + readOnly: true + reimbursement: type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. + description: The reimbursement amount in the payment. + readOnly: true + status: + type: string + description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - - not_set - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - employee_uuid: + - Funded + - Unfunded + hourly_rate: type: string - description: The UUID of the employee. + description: The rate per hour worked for the payment. readOnly: true - active: + may_cancel: type: boolean - description: Whether the employee's rehire has gone into effect. + description: Determine if the contractor payment can be cancelled. readOnly: true - x-examples: - example: - version: 2e930d43acbdb241f8f14a2d531fa417 - employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 - active: false - effective_date: '2024-06-30' - employment_status: seasonal - file_new_hire_report: false - work_location_uuid: 8cb87e2e-5b30-4c13-a4f4-bfffcbed1188 - two_percent_shareholder: false - active_rehire: - version: 7c930f42bcadb241f8f14a2d531fb528 - employee_uuid: 9d3b1770-c7d0-5be8-a07f-fb257bbg80f9 - active: true - effective_date: '2024-01-15' - employment_status: full_time - file_new_hire_report: true - work_location_uuid: 9dc98f3f-6c41-5d24-a5b5-c363687ebf29 - two_percent_shareholder: false - created: - version: 3a841e52dcbea351f9f25b3e642gb639 - employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 - active: false - effective_date: '2023-06-30' - employment_status: full_time - file_new_hire_report: true - work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 - two_percent_shareholder: false - Signatory: - description: The representation of a company's signatory - type: object - title: Signatory - x-tags: - - Signatories - properties: - uuid: + wage: type: string - first_name: - type: - - string - - 'null' - last_name: - type: - - string - - 'null' - title: + description: The fixed wage of the payment, regardless of hours worked. + readOnly: true + wage_type: + type: string + description: The wage type for the payment. + enum: + - Hourly + - Fixed + readOnly: true + wage_total: + type: string + description: "(hours * hourly_rate) + wage + bonus" + readOnly: true + invoice_number: type: - string - 'null' - phone: + description: An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + readOnly: true + memo: type: - string - 'null' - email: - type: string - birthday: + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + readOnly: true + x-tags: + - Contractor Payment Groups + Contractor-Payment-For-Group-Preview: + description: Preview representation of a single contractor payment with nullable uuid. + type: object + properties: + uuid: type: - string - 'null' - is_admin: - type: boolean - description: Whether or not the signatory is also the payroll admin of the company. - has_ssn: - type: boolean - description: Indicates whether the signatory has an SSN in Gusto. - version: + description: The unique identifier of the contractor payment in Gusto. + readOnly: true + contractor_uuid: type: string - description: The current version of the signatory. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - identity_verification_status: - anyOf: - - type: string - enum: - - Pass - - Fail - - Skipped - - type: 'null' - description: |- - | | | - |---|---| - |__Status__| __Description__ | - | Pass | Signatory can sign all forms | - | Fail | Signatory cannot sign forms | - | Skipped | Signatory cannot sign Form 8655 until the form is manually uploaded as wet-signed | - | null | Identity verification process has not been completed | - home_address: - type: - - object - - 'null' - properties: - street_1: - type: string - street_2: - type: string - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - country: - type: string - default: USA - required: - - uuid - x-examples: - typical_signatory: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - first_name: Bob - last_name: Jones - title: CEO - phone: '4156051234' - email: bob@example.com - birthday: '1980-08-04' - is_admin: true - has_ssn: true - version: e1bdd845a493c74908f8e15d6114169b - identity_verification_status: Skipped - home_address: - signatory_with_address: - uuid: 8c2e1ef2-7514-5b17-9879-d2ee8e35e38b - first_name: Rachel - last_name: Greene - title: Onboarding specialist - phone: '4155551234' - email: rachel@example.com - birthday: - is_admin: false - has_ssn: false - version: def456 - identity_verification_status: - home_address: - street_1: 525 20th Street - street_2: Apt. 1 - city: San Francisco - state: CA - zip: '94107' - country: USA - Flow: - description: The representation of a flow in Gusto white-label UI. - type: object - x-examples: - success_status: - url: https://flows.gusto-demo.com/flows/lO2BHHAMCScPVV9G5WEURW0Im_nP9mGYloQgjUWbenQ - title: Flow - x-tags: - - Flows - properties: - url: + description: The UUID of the contractor. + readOnly: true + bonus: type: string - Unprocessed-Termination-Pay-Period: - description: The representation of an unprocessed termination pay period. - type: object - properties: - start_date: + description: The bonus amount in the payment. + readOnly: true + hours: type: string - description: The start date of the pay period. + description: The number of hours worked for the payment. readOnly: true - end_date: + payment_method: type: string - description: The end date of the pay period. - check_date: + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + readOnly: true + reimbursement: type: string - description: The check date of the pay period. + description: The reimbursement amount in the payment. readOnly: true - debit_date: + status: type: string - description: The debit date of the pay period. - employee_name: + description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. + enum: + - Funded + - Unfunded + hourly_rate: type: string - description: The full name of the employee. - employee_uuid: + description: The rate per hour worked for the payment. + readOnly: true + may_cancel: + type: boolean + description: Determine if the contractor payment can be cancelled. + readOnly: true + wage: type: string - description: A unique identifier of the employee. - pay_schedule_uuid: + description: The fixed wage of the payment, regardless of hours worked. + readOnly: true + wage_type: type: string - description: A unique identifier of the pay schedule to which the pay period belongs. - x-examples: - typical_unprocessed_termination_pay_period: - start_date: '2023-01-11' - end_date: '2023-01-24' - check_date: '2023-01-28' - debit_date: '2023-01-26' - employee_name: Mary Warner - employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - x-tags: - - Employee Employments - Pay-Schedule-Assignment: - description: The representation of a pay schedule assignment. - type: object - x-examples: - example: - type: by_employee - employees: - - employee_uuid: f0238368-f2cf-43e2-9a07-b0265f2cec69 - pay_schedule_uuid: c277ac52-9871-4a96-a1e6-0c449684602a - properties: - type: - anyOf: - - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - - type: 'null' - description: The pay schedule assignment type. + description: The wage type for the payment. + enum: + - Hourly + - Fixed readOnly: true - hourly_pay_schedule_uuid: - type: - - string - - 'null' - description: Pay schedule for hourly employees. + wage_total: + type: string + description: "(hours * hourly_rate) + wage + bonus" readOnly: true - salaried_pay_schedule_uuid: + invoice_number: type: - string - 'null' - description: Pay schedule for salaried employees. + description: An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. readOnly: true - default_pay_schedule_uuid: + memo: type: - string - 'null' - description: Default pay schedule for employees. + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. readOnly: true - employees: - type: - - array - - 'null' - description: List of employees and their pay schedules. + x-tags: + - Contractor Payment Groups + Contractor-Payment-Summary: + description: The representation of the summary of contractor payments for a given company in a given time period. + type: object + x-examples: + success_status: + total: + reimbursements: '110.0' + wages: '1840.0' + contractor_payments: + - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + reimbursement_total: '110.0' + wage_total: '1840.0' + payments: + - uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + may_cancel: true + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '100.0' + date: '2020-10-19' + hours: '0.00' + payment_method: Direct Deposit + reimbursement: '10.0' + hourly_rate: '0.0' + may_cancel: true + wage: '1000.0' + wage_type: Fixed + wage_total: '1100.0' + properties: + total: + type: object + description: The wage and reimbursement totals for all contractor payments within a given time period. + properties: + reimbursements: + type: string + format: float + description: The total reimbursements for contractor payments within a given time period. + readOnly: true + wages: + type: string + format: float + description: The total wages for contractor payments within a given time period. + readOnly: true readOnly: true + contractor_payments: + type: array + uniqueItems: false + description: The individual contractor payments, within a given time period, grouped by contractor. items: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee" - departments: - type: - - array - - 'null' - description: List of departments and their pay schedules. + type: object + description: '' + properties: + contractor_uuid: + type: number + description: The UUID of the contractor. + readOnly: true + reimbursement_total: + type: string + format: float + description: The total reimbursements for the contractor within a given time period. + readOnly: true + wage_total: + type: string + format: float + description: The total wages for the contractor within a given time period. + readOnly: true + payments: + type: array + uniqueItems: false + description: The contractor's payments within a given time period. + items: + "$ref": "#/components/schemas/Contractor-Payment" + readOnly: true readOnly: true - items: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Department" x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Employee: + - Contractor Payments + Contractor-Payment-Summary-By-Dates: + description: The representation of the summary of contractor payments for a given company in a given time period. type: object x-examples: - example-1: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + success_status: + total: + reimbursements: '110.0' + wages: '1840.0' + contractor_payments: + - check_date: '2020-10-19' + reimbursement_total: '110.0' + wage_total: '1840.0' + payments: + - uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '100.0' + date: '2020-10-19' + hours: '0.00' + payment_method: Direct Deposit + reimbursement: '10.0' + hourly_rate: '0.0' + wage: '1000.0' + wage_type: Fixed + wage_total: '1100.0' properties: - employee_uuid: - type: string - description: The UUID of the employee. - pay_schedule_uuid: - type: - - string - - 'null' - description: The employee's pay schedule UUID. + total: + type: object + description: The wage and reimbursement totals for all contractor payments within a given time period. + properties: + reimbursements: + type: string + format: float + description: The total reimbursements for contractor payments within a given time period. + readOnly: true + wages: + type: string + format: float + description: The total wages for contractor payments within a given time period. + readOnly: true + readOnly: true + contractor_payments: + type: array + uniqueItems: false + description: The individual contractor payments, within a given time period, grouped by check date. + items: + type: object + description: '' + properties: + contractor_uuid: + type: string + description: The UUID of the contractor. + readOnly: true + check_date: + type: string + description: The payment check date. + readOnly: true + reimbursement_total: + type: string + format: float + description: The total reimbursements for the contractor within a given time period. + readOnly: true + wage_total: + type: string + format: float + description: The total wages for the contractor within a given time period. + readOnly: true + payments: + type: array + uniqueItems: false + description: The contractor's payments within a given time period. + items: + "$ref": "#/components/schemas/Contractor-Payment" + readOnly: true + readOnly: true + readOnly: true x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Department: + - Contractor Payments + Contractor-Payment-Method: + title: Contractor-Payment-Method type: object x-examples: - example-1: - department_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + check_method: + version: 63859768485e218ccf8a449bb60f14ed + type: Check + split_by: + splits: + Example-1: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Percentage + splits: + - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + name: BoA Checking Account + priority: 1 + split_amount: 100 + Example-2: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Check + description: '' properties: - department_uuid: - type: string - description: The UUID of the department. - pay_schedule_uuid: + version: type: string - description: The department's pay schedule UUID. - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Preview: - description: The representation of a pay schedule assignment preview. - type: object - x-examples: - example: - type: hourly_salaried - employee_changes: - - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - first_name: Penny - last_name: Parker - pay_frequency: Twice per month — Salaried pay schedule - first_pay_period: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: '2023-07-01' - end_date: '2023-08-01' - check_date: '2023-08-02' - transition_pay_period: - start_date: '2023-06-20' - end_date: '2023-06-30' - properties: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. type: anyOf: - type: string enum: - - single - - hourly_salaried - - by_employee - - by_department + - Direct Deposit + - Check - type: 'null' - description: The pay schedule assignment type. - readOnly: true - employee_changes: - type: array - description: A list of pay schedule changes including pay period and transition pay period. - items: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee-Change" - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Employee-Change: - type: object - x-examples: - example-1: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - first_name: Penny - last_name: Parker - pay_frequency: Twice per month — Salaried pay schedule - first_pay_period: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: '2023-07-01' - end_date: '2023-08-01' - check_date: '2023-08-02' - transition_pay_period: - start_date: '2023-06-20' - end_date: '2023-06-30' - properties: - employee_uuid: - type: string - description: The UUID of the employee. - readOnly: true - first_name: - type: string - description: The employee's first name. - readOnly: true - last_name: - type: string - description: The employee's last name. - readOnly: true - pay_frequency: - type: string - description: New pay schedule frequency and name. - readOnly: true - first_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Pay-Period" - transition_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Transition-Pay-Period" + description: The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: Describes how the payment will be split. If `split_by` is Percentage, then the `split` amounts must add up to exactly 100. If `split_by` is Amount, then values are in cents and the last split amount must be `null` to capture the remainder. + splits: + type: + - array + - 'null' + items: + "$ref": "#/components/schemas/Payment-Method-Bank-Account" x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Pay-Period: - description: Pay schedule assignment first pay period information. + - Contractor Payment Method + Payment-Method-Bank-Account: type: object - x-examples: - example-1: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: '2023-07-01' - end_date: '2023-08-01' - check_date: '2023-08-02' + description: Representation of a bank account item properties: - pay_schedule_uuid: - type: string - description: The pay schedule UUID. - start_date: + uuid: type: string - description: Pay period start date. - end_date: + description: The bank account ID + name: type: string - description: Pay period end date. - check_date: + description: The bank account name + hidden_account_number: type: string - description: Pay period check date. - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Transition-Pay-Period: - description: Pay schedule assignment transition pay period information. + description: Masked bank account number + priority: + type: integer + description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. + split_amount: + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + type: + - integer + - 'null' + required: + - uuid + Payroll-Blockers-Error: + description: |- + Payroll Blockers Error + + For detailed information, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) type: object x-examples: - example-1: - start_date: '2023-07-01' - end_date: '2023-08-01' + needs_onboarding: + errors: + - error_key: base + category: payroll_blocker + message: Company must complete all onboarding requirements in order to run payroll. + metadata: + key: needs_onboarding properties: - start_date: - type: string - description: Pay period start date. - end_date: - type: string - description: Pay period end date. - x-tags: - - Pay Schedules - Accruing-Time-Off-Hour: - description: The representation of an unprocessed termination pay period. + errors: + type: array + items: + type: object + properties: + error_key: + type: string + description: The string "base" + category: + type: string + description: The string "payroll_blocker" + message: + type: string + description: Human readable description of the payroll blocker + metadata: + type: object + properties: + key: + type: string + description: A categorization of the payroll blocker, e.g. "geocode_error" + Create-Token-Authentication: + description: '' type: object + required: + - access_token + - token_type + - expires_in + - created_at properties: - time_off_policy_uuid: + access_token: type: string - description: A unique identifier of the time off policy. - hours: + description: A new access token that can be used for subsequent authenticated requests + token_type: type: string - description: Hours accrued during this pay period. - Employee-Federal-Tax: - title: Employee-Federal-Tax + default: Bearer + description: The literal string 'Bearer' + expires_in: + type: number + default: 7200 + description: The TTL of this token. After this amount of time, you must hit the refresh token endpoint to continue making authenticated requests. + created_at: + type: number + description: Datetime for when the new access token is created. + refresh_token: + type: + - string + - 'null' + description: A token that must be passed to the refresh token endpoint to get a new authenticated token. Only present when refresh token is provided. + Refresh-Token-Authentication: + description: '' + type: object + allOf: + - "$ref": "#/components/schemas/Create-Token-Authentication" + - type: object + properties: + refresh_token: + type: string + description: A token that must be passed to the refresh token endpoint to get a new authenticated token. + scope: + type: string + description: All of the scopes for which the access token provides access. + Authentication: + description: '' type: object - description: Federal tax information for an employee. The response structure varies based on the w4_data_type field. oneOf: - - "$ref": "#/components/schemas/Employee-Federal-Tax-Pre2020" - - "$ref": "#/components/schemas/Employee-Federal-Tax-Rev2020" - discriminator: - propertyName: w4_data_type - mapping: - pre_2020_w4: "#/components/schemas/Employee-Federal-Tax-Pre2020" - rev_2020_w4: "#/components/schemas/Employee-Federal-Tax-Rev2020" + - "$ref": "#/components/schemas/Create-Token-Authentication" + - "$ref": "#/components/schemas/Refresh-Token-Authentication" x-examples: - rev_2020_w4: - version: 56a489ce86ed6c1b0f0cecc4050a0b01 - filing_status: Single - two_jobs: false - dependents_amount: '1000.0' - other_income: '10.0' - deductions: '11.0' - extra_withholding: '9.0' - w4_data_type: rev_2020_w4 - employee_uuid: 7d70e6b0-9889-4060-9eef-aafabc14e2f2 - employee_id: 1 - company_id: 1 - rev_2020_w4_married_two_jobs: - version: 63859768485e218ccf8a449bb60f14ed - w4_data_type: rev_2020_w4 - filing_status: Married - two_jobs: true - dependents_amount: '2000.0' - other_income: '20.0' - deductions: '11.0' - extra_withholding: '9.0' - employee_uuid: 8d70e6b0-9889-4060-9eef-aafabc14e2f2 - employee_id: 2 - company_id: 1 - x-tags: - - Employee Tax Setup - Employee-State-Tax: - title: Employee-State-Tax + create_token: + access_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A + token_type: Bearer + created_at: 1767644464 + expires_in: 7200 + refresh_token: + refresh_token: + access_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A + refresh_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A + scope: public payroll:read + token_type: Bearer + created_at: 1767644464 + expires_in: 7200 + Token-Info: + type: object + properties: + scope: + type: string + description: 'Space-separated list of OAuth scopes granted to this access token. + +' + example: companies:read public + resource: + type: + - object + - 'null' + description: | + The resource associated with this access token. Null when + the token has no associated resource. + properties: + type: + type: string + description: 'The type of resource associated with the access token, e.g. `Company` for a company-level token or `Oauth::Application` for a system-level token. + +' + example: Company + uuid: + type: string + format: uuid + description: The UUID of the associated resource + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + resource_owner: + type: + - object + - 'null' + description: | + The resource owner (user) who authorized this access token. Null for + system-level tokens or when the owner cannot be determined. + properties: + type: + type: string + enum: + - CompanyAdmin + - Employee + - Contractor + description: | + The type of resource owner: + - `CompanyAdmin`: A company administrator + - `Employee`: An employee + - `Contractor`: A contractor + example: CompanyAdmin + uuid: + type: string + format: uuid + description: The UUID of the resource owner + example: 8fdc31f0-a8a7-4872-a9f1-dcb5e6f876e3 + x-examples: + company_admin_token: + scope: companies:read public + resource: + type: Company + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + resource_owner: + type: CompanyAdmin + uuid: 8fdc31f0-a8a7-4872-a9f1-dcb5e6f876e3 + system_token: + scope: partner_managed_companies:create public + resource: + type: Oauth::Application + uuid: 9c2a1b3d-4e5f-6789-abcd-ef0123456789 + resource_owner: + Pay-Schedule: type: object + title: Pay Schedule x-examples: - example-1: - uuid: 287d2c61-1d18-4126-8a4a-9cb29bbb6dac - employee_uuid: 2005e601-3c78-410a-9d40-b960ae130383 - state: CA - questions: - - label: Filing Status - description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + Example: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + name: Engineering + auto_payroll: false + custom_name: A new monthly pay schedule + success_status: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2022-09-01' + anchor_end_of_pay_period: '2022-08-18' + day_1: 1 + day_2: 15 + name: + custom_name: every 1st and 15th of the month + auto_payroll: true + active: true + auto_payroll_enablement_blockers: + description: | + The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. -' - key: filing_status - input_question_format: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of household - - value: E - label: Do Not Withhold - answers: - - value: S - valid_from: '2010-01-01' - valid_up_to: - - label: Withholding Allowance - description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + Response includes frequency, anchor dates, optional day_1/day_2 for monthly/semi-monthly, auto_payroll (named auto_pilot in API versions before 2025-11-15), and auto_payroll_enablement_blockers when Autopayroll is disabled. -' - key: withholding_allowance - input_question_format: - type: Number - answers: - - value: 1 - valid_from: '2010-01-01' - valid_up_to: - - label: Additional Withholding - description: You can withhold an additional amount of California income taxes here. - key: additional_withholding - input_question_format: - type: Currency - answers: - - value: '0.0' - valid_from: '2010-01-01' - valid_up_to: - - label: File a New Hire Report? - description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. - key: file_new_hire_report - input_question_format: - type: Select - options: - - value: true - label: Yes, file the state new hire report for me. - - value: false - label: No, I have already filed. - answers: - - value: true - valid_from: '2010-01-01' - valid_up_to: - x-tags: - - Employee Tax Setup + **Webhooks:** Subscribe to [Pay Schedule Events](https://docs.gusto.com/embedded-payroll/docs/pay-schedule-events) to receive `pay_schedule.created` and `pay_schedule.updated` when pay schedules are created or updated. properties: uuid: - type: string - description: The uuid of the employee state field. - employee_uuid: - type: string - description: The employee's uuid - state: - type: string - description: Two letter US state abbreviation - file_new_hire_report: - type: - - boolean - - 'null' - is_work_state: - type: boolean - questions: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax-Question" + "$ref": "#/components/schemas/Pay-Schedule-Uuid" + version: + "$ref": "#/components/schemas/Pay-Schedule-Version" + frequency: + "$ref": "#/components/schemas/Pay-Schedule-Frequency" + anchor_pay_date: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" + anchor_end_of_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" + day_1: + "$ref": "#/components/schemas/Pay-Schedule-Day-1" + day_2: + "$ref": "#/components/schemas/Pay-Schedule-Day-2" + name: + "$ref": "#/components/schemas/Pay-Schedule-Name" + custom_name: + "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" + auto_payroll: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll" + active: + "$ref": "#/components/schemas/Pay-Schedule-Active" + auto_payroll_enablement_blockers: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blockers" + x-tags: + - Pay Schedules required: - uuid - - employee_uuid - - state - - questions - Employee-State-Tax-Question: + Pay-Schedule-Show: type: object - properties: - label: - type: string - description: A short title for the question - description: - type: - - string - - 'null' - description: An explaination of the question - this may contain inline html formatted links. - key: - type: string - description: A unique identifier of the question (for the given state) - used for updating the answer. - is_question_for_admin_only: - type: boolean - input_question_format: - "$ref": "#/components/schemas/Employee-State-Tax-Input-Question-Format" - answers: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax-Answer" + title: Pay Schedule + description: | + Pay schedule returned from pay schedule endpoints (GET by ID, POST create, PUT update). Same fields as Pay-Schedule with a required `version` for [optimistic concurrency](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control). + + For API version 2025-11-15 and later, responses use `auto_payroll`; earlier versions use `auto_pilot` for the same semantic. required: - - label - - description - - key - - input_question_format - - answers - - is_question_for_admin_only - Employee-State-Tax-Answer: + - uuid + - version + properties: + uuid: + "$ref": "#/components/schemas/Pay-Schedule-Uuid" + version: + "$ref": "#/components/schemas/Pay-Schedule-Version" + frequency: + "$ref": "#/components/schemas/Pay-Schedule-Frequency" + anchor_pay_date: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" + anchor_end_of_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" + day_1: + "$ref": "#/components/schemas/Pay-Schedule-Day-1" + day_2: + "$ref": "#/components/schemas/Pay-Schedule-Day-2" + name: + "$ref": "#/components/schemas/Pay-Schedule-Name" + custom_name: + "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" + auto_payroll: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll" + active: + "$ref": "#/components/schemas/Pay-Schedule-Active" + auto_payroll_enablement_blockers: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blockers" + x-tags: + - Pay Schedules + x-examples: + Example: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + name: Engineering + auto_payroll: false + custom_name: A new monthly pay schedule + active: true + auto_payroll_enablement_blockers: + success_status: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2022-09-01' + anchor_end_of_pay_period: '2022-08-18' + day_1: 1 + day_2: 15 + name: + custom_name: every 1st and 15th of the month + auto_payroll: true + active: true + auto_payroll_enablement_blockers: + Pay-Schedule-Show-Response: + type: array + description: 'List of pay schedules for a company, as returned from [GET /v1/companies/{company_id}/pay_schedules](ref:get-v1-companies-company_id-pay_schedules). Each entry matches Pay-Schedule-Show (includes `version`). + +' + items: + "$ref": "#/components/schemas/Pay-Schedule-Show" + x-tags: + - Pay Schedules + x-examples: + success_status: + - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Monthly + anchor_pay_date: '2022-12-11' + anchor_end_of_pay_period: '2022-11-13' + day_1: 11 + day_2: + name: + custom_name: every 11th of the month + auto_payroll: true + active: true + auto_payroll_enablement_blockers: + Pay-Schedule-Version: + type: string + description: The current version of the pay schedule. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control) for information on how to use this field for optimistic concurrency. + readOnly: true + Pay-Schedule-Auto-Payroll: + type: boolean + description: | + With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. + Returned for API version 2025-11-15 and later; for earlier versions the response uses auto_pilot instead. + readOnly: true + Pay-Schedule-Auto-Payroll-Enablement-Blockers: + type: + - array + - 'null' + description: List of blockers preventing automatic payroll from being enabled. If automatic payroll is already enabled, this field is null. + items: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blocker" + Pay-Schedule-Auto-Payroll-Enablement-Blocker: type: object + description: A single blocker preventing Autopayroll enablement. properties: - value: - oneOf: - - type: string - - type: number - - type: boolean - - type: 'null' - description: The answer to the corresponding question - this may be a string, number, boolean, or null. - valid_from: + key: type: string - description: The effective date of the answer - currently always “2010-01-01”. - valid_up_to: - type: - - string - - 'null' - description: The effective end date of the answer - currently always null. - Employee-State-Tax-Input-Question-Format: + description: The blocker type (e.g. employees_not_on_direct_deposit, employees_not_salaried, missing_funding_method, missing_state_tax_requirements, one_day_ach_speed_not_supported, company_suspended, earned_fast_ach_not_met). + metadata: + type: object + description: Blocker-specific metadata (e.g. employee_uuids, states). + Pay-Schedule-List: + type: array + description: List of pay schedules for a company. The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + items: + "$ref": "#/components/schemas/Pay-Schedule-Show" + x-examples: + success_status: + - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Monthly + anchor_pay_date: '2022-12-11' + anchor_end_of_pay_period: '2022-11-13' + day_1: 11 + day_2: + name: + custom_name: every 11th of the month + auto_payroll: true + active: true + Pay-Schedule-Preview-Pay-Period: type: object - properties: - type: - type: string - description: Describes the type of question - Text, Number, Select, Currency, Date - options: - type: array - uniqueItems: true - description: For "Select" type questions, the allowed values and display labels. - items: - type: object - properties: - value: - description: An allowed value to answer the question - oneOf: - - type: string - - type: boolean - - type: number - label: - type: string - description: A display label that corresponds to the answer value - required: - - label + description: A single pay period in a pay schedule preview, with check date, period boundaries, and payroll deadline. required: - - type - Federal-Tax-Details: - title: Federal-Tax-Details - type: object + - check_date + - start_date + - run_payroll_by + - end_date properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - tax_payer_type: - anyOf: - - type: string - enum: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - - type: 'null' - description: |- - What type of tax entity the company is. One of: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - taxable_as_scorp: - type: boolean - description: |- - Whether the company is taxed as an S-Corporation. Tax payer types that may be taxed as an S-Corporation include: - - S-Corporation - - C-Corporation - - LLC - filing_form: + check_date: type: string - enum: - - '941' - - '944' - description: |- - The form used by the company for federal tax filing. One of: - - 941 (Quarterly federal tax return form) - - 944 (Annual federal tax return form) - has_ein: - type: boolean - description: Whether company's Employer Identification Number (EIN) is present - ein_verified: - type: boolean - description: Whether the EIN has been successfully verified as a valid EIN with the IRS. - ein_verification: - type: object - nullable: false - description: Information about the status of verifying the company's Employer Identification Number (EIN) - properties: - status: - type: string - nullable: false - enum: - - pending - - verified - - failed - description: |- - The status of EIN verification: - - `pending`: The EIN verification process has not completed (or the company does not yet have an EIN). - - `verified`: The EIN has been successfully verified as a valid EIN with the IRS. - - `failed`: The company's EIN did not pass verification. Common issues are being entered incorrectly or not matching the company's legal name. - legal_name: + format: date + description: The payment date, "Check date", for the pay period. + start_date: type: string - description: The legal name of the company - effective_date: + format: date + description: The first day of the pay period. + run_payroll_by: type: string - description: The date that these details took effect. - deposit_schedule: + format: date + description: The deadline to run payroll for direct deposit on the check date. + end_date: type: string - description: |- - How often the company sends money to the IRS. One of: - - Semiweekly - - Monthly + format: date + description: The last day of the pay period. + Pay-Schedule-Preview: + type: object + description: | + Preview of pay schedule dates for the next 18 months. Use this to show partners expected pay dates, pay period boundaries, and payroll deadlines before they create or change a pay schedule. See [Preview pay schedule dates](https://docs.gusto.com/embedded-payroll/reference/get-v1-companies-company_id-pay_schedules-preview) for usage. + + - **pay_periods**: One entry per pay period in the range; each includes check_date, start_date, end_date, and run_payroll_by. + - **holidays**: Observed bank holidays (ISO date strings) that may affect payroll timing. x-examples: - Success: - version: 68934a3e9455fa72420237eb - tax_payer_type: S-Corporation - taxable_as_scorp: true - filing_form: '941' - has_ein: true - ein_verified: true - ein_verification: - status: verified - legal_name: Acme Corp - effective_date: '2024-01-01' - deposit_schedule: Semiweekly - x-tags: - - Federal Tax Details - Employee-Bank-Account: - title: Employee-Bank-Account + success_status: + pay_periods: + - check_date: '2022-01-15' + start_date: '2022-01-01' + run_payroll_by: '2022-01-14' + end_date: '2022-01-15' + - check_date: '2022-01-31' + start_date: '2022-01-16' + run_payroll_by: '2022-01-30' + end_date: '2022-01-31' + holidays: + - '2022-01-01' + - '2022-01-17' + properties: + pay_periods: + type: array + description: A list of pay periods for the previewed pay schedule (default range is 18 months from today, or up to end_date when provided). + items: + "$ref": "#/components/schemas/Pay-Schedule-Preview-Pay-Period" + holidays: + type: array + description: A list of dates for bank closures (ISO date strings); may affect payroll processing. + items: + type: string + format: date + Pay-Schedule-Date-Input: + type: string + format: date + description: ISO 8601 date (YYYY-MM-DD). Required for anchor and period dates in create, update, and preview requests. + Pay-Schedule-Create-Request: + type: object + description: | + Request body for creating a pay schedule. Required when a company has no pay schedules (onboarding) or when adding an additional schedule. Be sure to [check state laws](https://www.dol.gov/agencies/whd/state/payday) to know what schedule is right for your customers. + + - **anchor_pay_date**: The first date that employees on this pay schedule will be paid (first company payday). + - **anchor_end_of_pay_period**: The last date of the first pay period; can be the same as anchor_pay_date. + example: + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + custom_name: demo pay schedule + properties: + frequency: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" + example: Twice per month + anchor_pay_date: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-15' + anchor_end_of_pay_period: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-08' + day_1: + type: + - integer + - 'null' + example: 15 + description: | + An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + + On create: required for Twice per month and Monthly; omit or null for Every week and Every other week. + day_2: + type: + - integer + - 'null' + example: 31 + description: | + An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + + On create: only for Twice per month; omit or null for other frequencies. + custom_name: + type: + - string + - 'null' + example: demo pay schedule + description: | + A custom pay schedule name; defaults to the pay frequency description when null or omitted. + + When null or omitted, the system generates a description from the pay frequency and pay days (e.g. "every 1st and 15th of the month" for twice-monthly, "every 11th of the month" for monthly, "every Friday" for weekly). The response returns this generated value in `custom_name` when no custom name was set. When provided, the value you set is stored and returned. + required: + - frequency + - anchor_pay_date + - anchor_end_of_pay_period + Pay-Schedule-Update-Request: type: object - x-examples: - Example: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking + description: Request body for updating a pay schedule. Sent in the pay_schedule_update root key. Version is required for optimistic concurrency. Pay schedules may be automatically adjusted if an onboarded company misses their first pay date; see [Create a pay schedule](https://docs.gusto.com/embedded-payroll/docs/create-a-pay-schedule). + example: + version: 68934a3e9455fa72420237eb05902327 + auto_payroll: true + frequency: Twice per month + anchor_pay_date: '2021-10-15' + anchor_end_of_pay_period: '2021-10-15' + day_1: 15 + day_2: 31 + custom_name: demo pay schedule properties: - uuid: - type: string - description: UUID of the bank account - employee_uuid: - type: string - description: UUID of the employee - account_type: - type: string - enum: - - Checking - - Savings - description: Bank account type - name: - type: string - description: Name for the bank account - routing_number: - type: string - description: The bank account's routing number - hidden_account_number: + version: type: string - description: Masked bank account number - x-tags: - - Employee Payment Method + example: 68934a3e9455fa72420237eb05902327 + description: Current version of the pay schedule from the GET response; required for optimistic concurrency. Mismatch returns 409 Conflict. + auto_payroll: + type: boolean + example: true + description: | + With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically and must be run manually. + For API versions before 2025-11-15 the request field is auto_pilot. + frequency: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" + example: Twice per month + anchor_pay_date: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-15' + anchor_end_of_pay_period: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-08' + day_1: + type: + - integer + - 'null' + example: 15 + description: 'An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + +' + day_2: + type: + - integer + - 'null' + example: 31 + description: 'An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + +' + custom_name: + type: + - string + - 'null' + example: demo pay schedule + description: A custom pay schedule name; null clears any custom name so the default frequency description applies. required: - - uuid - Contractor-Bank-Account: - title: Contractor-Bank-Account + - version + Pay-Schedule-Create-Update: type: object + title: Pay Schedule x-examples: - example: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - x-tags: - - Contractor Payment Method + Example: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + name: Engineering + auto_payroll: false + custom_name: A new monthly pay schedule + description: The representation of a pay schedule. properties: uuid: - type: string - description: UUID of the bank account - contractor_uuid: - type: string - description: UUID of the contractor - account_type: - type: string - enum: - - Checking - - Savings - description: Bank account type + "$ref": "#/components/schemas/Pay-Schedule-Uuid" + frequency: + "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" + anchor_pay_date: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" + anchor_end_of_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" + day_1: + "$ref": "#/components/schemas/Pay-Schedule-Day-1" + day_2: + "$ref": "#/components/schemas/Pay-Schedule-Day-2" name: - type: string - description: Name for the bank account - routing_number: - type: string - description: The bank account's routing number - hidden_account_number: - type: string - description: Masked bank account number + "$ref": "#/components/schemas/Pay-Schedule-Name" + custom_name: + "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" + auto_payroll: + type: boolean + description: | + With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. + In API versions before 2025-11-15 this field is named `auto_pilot`. + readOnly: true + active: + "$ref": "#/components/schemas/Pay-Schedule-Active" + x-tags: + - Pay Schedules required: - uuid - - contractor_uuid - - name - - routing_number - - hidden_account_number - - account_type - DetailedPaymentAccountSplit: - title: DetailedPaymentAccountSplit + Pay-Schedule-Uuid: + type: string + description: The unique identifier of the pay schedule in Gusto. + readOnly: true + Pay-Schedule-Frequency: + type: string + description: | + The frequency that employees on this pay schedule are paid with Gusto. + + READ-ONLY in responses. Possible values: + + - `Every week`: Employees are paid weekly. + - `Every other week`: Employees are paid bi-weekly (every two weeks). + - `Twice per month`: Employees are paid on two fixed days each month (e.g. 1st and 15th); use day_1 and day_2. + - `Monthly`: Employees are paid once per month; use day_1 for the pay day. + - `Quarterly`: Employees are paid every three months. + - `Annually`: Employees are paid once per year. + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Annually + readOnly: true + Pay-Schedule-Frequency-Create-Update: + type: string + description: | + The frequency that employees on this pay schedule are paid with Gusto. Only weekly, bi-weekly, twice per month, and monthly are supported on create and update. + + - `Every week`: Weekly pay. + - `Every other week`: Biweekly pay. + - `Twice per month`: Two pay dates per month; require day_1 and day_2 (use 31 for last day of month). + - `Monthly`: One pay date per month; require day_1 (1-31). + enum: + - Every week + - Every other week + - Twice per month + - Monthly + Pay-Schedule-Anchor-Pay-Date: + type: string + format: date + description: The first date that employees on this pay schedule are paid with Gusto (ISO 8601 YYYY-MM-DD). + readOnly: true + Pay-Schedule-Anchor-End-Of-Pay-Period: + type: string + format: date + description: The last date of the first pay period. This can be the same date as the anchor pay date (ISO 8601 YYYY-MM-DD). + readOnly: true + Pay-Schedule-Day-1: + type: + - integer + - 'null' + description: 'An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + +' + readOnly: true + Pay-Schedule-Day-2: + type: + - integer + - 'null' + description: 'An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, this field should be set to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + +' + readOnly: true + Pay-Schedule-Name: + type: + - string + - 'null' + description: This field will be hourly when the pay schedule is for hourly employees, salaried when the pay schedule is for salaried employees, the department name if pay schedule is by department, and null when the pay schedule is for all employees. + readOnly: true + Pay-Schedule-Custom-Name: + type: string + description: | + A custom name for a pay schedule; defaults to the pay frequency description when none was set by the partner. + + When the partner never set a custom name (or cleared it), this field contains the auto-generated description derived from frequency and pay days (e.g. "every 1st and 15th of the month", "every Friday"). When the partner set a custom name on create or update, this field contains that value. + readOnly: true + Pay-Schedule-Active: + type: boolean + description: Whether this pay schedule is associated with any employees. A pay schedule is inactive when it's unassigned. + readOnly: true + Ytd-Benefit-Amounts-From-Different-Company: type: object - description: Details of a single payment split for a payment method. + description: Ytd Benefit Amounts From Different Company properties: - bank_account_uuid: - type: string - description: The UUID of the bank account. - readOnly: true - hidden_account_number: - type: string - description: The masked account number. - readOnly: true - name: + uuid: type: string - description: The name of the bank account. - readOnly: true - priority: + description: The unique identifier for this benefit amount record. + benefit_type: type: integer - description: The priority of the payment split. - readOnly: true - split_amount: - type: - - integer - - 'null' - description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). - readOnly: true - encrypted_account_number: - type: - - string - - 'null' - description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the appropriate `read:account_number` scope (e.g., `employee_payment_methods:read:account_number`). - readOnly: true - x-examples: - AmountSplitExample: - value: - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - hidden_account_number: XXXX1207 - encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW - name: Primary Checking - priority: 1 - split_amount: 50000 - PercentageSplitExample: - value: - bank_account_uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - hidden_account_number: XXXX5678 - encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW - name: Savings Account - priority: 1 - split_amount: 100 - EmployeePaymentDetail: - title: EmployeePaymentDetail - type: object - description: Represents an employee's payment method details. - properties: - employee_uuid: + description: The benefit type supported by Gusto. See [Benefit Types](https://docs.gusto.com/embedded-payroll/reference/get-v1-benefits) for more information. + ytd_employee_deduction_amount: type: string - description: The UUID of the employee. - readOnly: true - payment_method: + description: The year-to-date employee deduction made outside the current company. + ytd_company_contribution_amount: type: string - description: The type of payment method. - enum: - - Direct Deposit - - Check - readOnly: true - split_by: - anyOf: - - type: string - enum: - - Percentage - - Amount - - type: 'null' - description: How the payment is split. This field is applicable when `payment_method` is "Direct Deposit". - readOnly: true - splits: - type: - - array - - 'null' - description: An array of payment splits. This field is applicable when `payment_method` is "Direct Deposit". - items: - "$ref": "#/components/schemas/DetailedPaymentAccountSplit" - readOnly: true - x-examples: - DirectDepositExample: - value: - employee_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - payment_method: Direct Deposit - split_by: Percentage - splits: - - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - hidden_account_number: XXXX1207 - encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW - name: Primary Checking - priority: 1 - split_amount: 100 - Employee-Payment-Method: - title: Employee-Payment-Method - type: object + description: The year-to-date company contribution made outside the current company. + required: + - uuid + - benefit_type + - ytd_employee_deduction_amount + - ytd_company_contribution_amount x-examples: - direct_deposit_percentage: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: 4b35bebe-3445-4014-a748-1e264647d601 - name: Cayman Island Checking - hidden_account_number: XXXX1234 - priority: 1 - split_amount: 100 - Example-1: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Amount - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 50000 - - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a - name: Chase Checking Account - priority: 2 - split_amount: 100000 - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - name: US Bank Checking Account - priority: 3 - split_amount: - Example-2: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 60 - - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a - name: Chase Checking Account - priority: 2 - split_amount: 40 - Example-3: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Check - description: '' - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - type: - type: string - enum: - - Direct Deposit - - Check - description: The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. - split_by: - anyOf: - - type: string - enum: - - Amount - - Percentage - - type: 'null' - description: Describes how the payment will be split. If `split_by` is Percentage, then the split amounts must add up to exactly 100. If `split_by` is Amount, then the last split `amount` must be `null` to capture the remainder. - splits: - type: - - array - - 'null' - items: - "$ref": "#/components/schemas/Payment-Method-Bank-Account" - x-tags: - - Employee Payment Method - Tax-Requirement: + Ytd-Benefit-Amounts-List: + - uuid: c5fdae57-5483-4529-9aae-f0edceed92d3 + benefit_type: 1 + ytd_employee_deduction_amount: '5000.00' + ytd_company_contribution_amount: '2500.00' + - uuid: 1bfdb946-b2be-4909-ac46-9e7f73872d0a + benefit_type: 5 + ytd_employee_deduction_amount: '2132.00' + ytd_company_contribution_amount: '3345.00' + Ytd-Benefit-Amounts-From-Different-Company-Body: type: object - x-examples: - ga-withholding-requirement-example: - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. - value: 1233214-AB - editable: true - metadata: - type: account_number - mask: "#######-^^" - prefix: + description: Year-to-date benefit amounts contributed at a different company for the specified employee. properties: - key: - "$ref": "#/components/schemas/Tax-Requirement-Key" - applicable_if: - type: array - description: An array of references to other requirements within the requirement set. This requirement is only applicable if all referenced requirements have values matching the corresponding `value`. The primary use-case is dynamically hiding and showing requirements as values change. E.g. Show Requirement-B when Requirement-A has been answered with `false`. To be explicit, an empty array means the requirement is applicable. - items: - type: object - properties: - key: - "$ref": "#/components/schemas/Tax-Requirement-Key" - value: - description: The required value of the requirement identified by `key` - oneOf: - - type: boolean - - type: string - - type: number - - type: 'null' - label: - type: string - description: A customer facing description of the requirement - description: - type: - - string - - 'null' - description: A more detailed customer facing description of the requirement - value: - "$ref": "#/components/schemas/Tax-Requirements-Value" - metadata: - "$ref": "#/components/schemas/Tax-Requirement-Metadata" - editable: - type: boolean - description: Whether the value of this requirement can be updated - Tax-Requirement-Metadata: + benefit_type: + type: integer + description: The benefit type supported by Gusto. + tax_year: + type: number + minimum: 2000 + maximum: 2999 + description: The tax year for which this amount applies. + ytd_employee_deduction_amount: + type: string + default: '0.00' + description: The year-to-date employee deduction made outside the current company. + ytd_company_contribution_amount: + type: string + default: '0.00' + description: The year-to-date company contribution made outside the current company. + required: + - benefit_type + - tax_year + - ytd_employee_deduction_amount + - ytd_company_contribution_amount + x-tags: + - Employee Benefits + Company-Attachment: + description: The company attachment type: object + required: + - uuid + - name + - category + - upload_time x-examples: - select-example: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - tax_rate-example: - metadata: - type: tax_rate - validation: - type: min_max - min: '0.0004' - max: '0.081' - radio-example: - metadata: - type: radio - options: - - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly - short_label: Not Reimbursable - value: false - - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly - short_label: Reimbursable - value: true - account_number-example: - metadata: - type: account_number - mask: "######-##" - prefix: + success_status: + uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 + name: Company_Attachment_File.pdf + category: gep_notice + upload_time: '2024-09-10T01:54:20Z' + compliance_attachment: + uuid: 987058cc-23ee-46e9-81ef-5cee086cceca + name: Compliance_Document.pdf + category: compliance + upload_time: '2024-10-15T14:30:00Z' + x-tags: + - Company Attachment properties: - type: - type: string - enum: - - text - - currency - - radio - - select - - percent - - account_number - - tax_rate - - workers_compensation_rate - description: | - Describes the type of requirement - each type may have additional metadata properties to describe possible values, formats, etc. - - - `text`: free-text input, no additional requirements - - `currency`: a value representing a dollar amount, e.g. `374.55` representing `$374.55` - - `radio`: choose one of options provided, see `options` - - `select`: choose one of options provided, see `options` - - `percent`: A decimal value representing a percentage, e.g. `0.034` representing `3.4%` - - `account_number`: An account number for a tax agency, more information provided by `mask` and `prefix` - - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing a tax rate of `3.4%`, see `validation` for additional validation guidance - - `workers_compensation_rate`: A decimal value representing a percentage, see `risk_class_code`, `risk_class_description`, and `rate_type` - readOnly: true - options: - type: array - description: "[for `select` or `radio`] An array of objects describing the possible values." - items: - type: object - properties: - label: - type: string - description: A customer facing label for the answer - value: - oneOf: - - type: string - - type: boolean - description: The actual value to be submitted - short_label: - type: - - string - - 'null' - description: A less verbose label that may sometimes be available - required: - - label - - value - risk_class_code: + uuid: type: string - description: "[for `workers_compensation_rate`] The industry risk class code for the rate being requested" - risk_class_description: + description: UUID of the company attachment + name: type: string - description: "[for `workers_compensation_rate`] A description of the industry risk class for the rate being requested" - rate_type: + description: name of the file uploaded + category: type: string description: | - [for `workers_compensation_rate`] The type of rate being collected. Either: - - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1% - - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr + The category of the company attachment. + - `gep_notice`: A tax notice attachment + - `compliance`: A compliance attachment + - `other`: Any other attachment type enum: - - percent - - currency_per_hour - mask: - type: - - string - - 'null' - description: | - [for `account_number`] A pattern describing the format of the account number - - The mask is a sequence of characters representing the requirements of the actual account number. Each character in the mask represents a single character in the account number as follows: - - `#`: a digit (`\d`) - - `@`: a upper or lower case letter (`[a-zA-Z]`) - - `^`: an uppercase letter (`[A-Z]`) - - `%`: a digit or uppercase letter (`[0-9A-Z]`) - - any other character represents the literal character - - Examples: - - mask: `WHT-######` represents `WHT-` followed by 5 digits, e.g. `WHT-33421` - - mask: `%####-^^` supports values of `75544-AB` and `Z7654-HK` - prefix: - type: - - string - - 'null' - description: "[for `account_number`] A value that precedes the value to be collected - useful for display, but should not be submitted as part of the value. E.g. some tax agencies use an account number that is a company's federal ein plus two digits. In that case the mask would be `##` and the prefix `XXXXX1234`." - validation: - type: object - description: "[for `tax_rate`] Describes the validation required for the tax rate" - properties: - type: - type: string - description: Describes the type of tax_rate validation rule - enum: - - one_of - - min_max - min: - type: string - description: "[for `min_max`] The inclusive lower bound of the tax rate" - max: - type: string - description: "[for `min_max`] The inclusive upper bound of the tax rate" - rates: - type: array - description: | - [for `one_of`] The possible, unformatted tax rates for selection. - - e.g. ["0.0", "0.001"] representing 0% and 0.1% - items: - type: string - required: - - type - required: - - type - description: '' - Tax-Requirement-Set: + - gep_notice + - compliance + - other + upload_time: + type: string + description: The ISO 8601 timestamp of when an attachment was uploaded + Company-Attachment-List: + type: array + x-examples: + success_status: + - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 + name: Company_Attachment_File1.pdf + category: gep_notice + upload_time: '2022-02-01T00:00:00.000Z' + - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca + name: Company_Attachment_File2.pdf + category: compliance + upload_time: '2022-02-01T00:00:00.000Z' + items: + "$ref": "#/components/schemas/Company-Attachment" + Company-Attachment-Download-Url: + description: The temporary url to download a Company Attachment File type: object + required: + - url x-examples: - tax-requirements-set-ga-registrations-example: - state: GA - key: registrations - label: Registrations - effective_from: - requirements: - - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. - value: 1233214-AB - metadata: - type: account_number - mask: "#######-^^" - prefix: - - key: 6c0911ab-5860-412e-bdef-6437cd881df5 - applicable_if: [] - label: DOL Account Number - description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. - value: 474747-88 - metadata: - type: account_number - mask: "######-##" - prefix: - description: '' + success_status: + url: https://s3.amazonaws.com/static.gusto.com/assets/uploaded_files/334721.pdf?parameter=daer8r3432423djklsdafaso + success_status_alternate: + url: https://s3.amazonaws.com/static.gusto.com/assets/uploaded_files/112233.pdf?parameter=abc123def456 properties: - state: - "$ref": "#/components/schemas/State" - key: - "$ref": "#/components/schemas/Tax-Requirement-Set-Key" - label: + url: + type: string + description: A full URL to download a Company Attachment File + Company-Attachment-Create-Request-Body: + description: The binary payload of the file and the company attachment category. + type: object + required: + - document + - category + properties: + document: + type: string + format: binary + description: The binary payload of the file to be uploaded. Supported file types are .qbb, .qbm, .gif, .jpg, .png, .pdf, .xls, .xlsx, .doc and .docx. + category: type: string - description: Customer facing label for the requirement set, e.g. "Registrations" - effective_from: - "$ref": "#/components/schemas/Tax-Requirement-Effective-From" - requirements: - type: array - items: - "$ref": "#/components/schemas/Tax-Requirement" - Tax-Requirements-State: - title: Tax-Requirements-State + description: | + The category of a company attachment. + - `gep_notice`: A tax notice attachment + - `compliance`: A compliance attachment + enum: + - gep_notice + - compliance + Company-Bank-Account: + description: The company bank account type: object x-examples: - tax-requirements-state-ga-example: - company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 - state: GA - requirement_sets: - - state: GA - key: registrations - label: Registrations - effective_from: - requirements: - - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. - value: 1233214-AB - editable: true - metadata: - type: account_number - mask: "#######-^^" - prefix: - - key: 6c0911ab-5860-412e-bdef-6437cd881df5 - applicable_if: [] - label: DOL Account Number - description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. - value: 474747-88 - editable: true - metadata: - type: account_number - mask: "######-##" - prefix: - - state: GA - key: taxrates - label: Tax Rates - effective_from: '2022-01-01' - requirements: - - key: suireimbursable - applicable_if: [] - label: SUI Reimburser - description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses (like non-profits or government organizations) may be allowed to reimburse the state if one of their employees collects unemployment benefits. - value: false - editable: true - metadata: - type: radio - options: - - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly - short_label: Not Reimbursable - value: false - - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly - short_label: Reimbursable - value: true - - key: e0ac2284-8d30-4100-ae23-f85f9574868b - applicable_if: - - key: suireimbursable - value: false - label: Total Tax Rate - description: Haven't received your assigned rate yet? Find the new employer rate and enter it here. - value: '0.05' - editable: true - metadata: - type: tax_rate - validation: - type: min_max - min: '0.0004' - max: '0.081' - - state: GA - key: depositschedules - label: Deposit Schedules - effective_from: '2022-01-01' - requirements: - - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c - applicable_if: [] - label: Deposit Schedule - description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. - value: Monthly - editable: true - metadata: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - - state: GA - key: depositschedules - label: Deposit Schedules - effective_from: '2022-07-01' - requirements: - - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c - applicable_if: [] - label: Deposit Schedule - description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. - value: Monthly - editable: true - metadata: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - tax-requirements-metadata-select: - company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 - state: GA - requirement_sets: - - state: GA - key: depositschedules - label: Deposit Schedules - effective_from: '2022-01-01' - requirements: - - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c - applicable_if: [] - label: Deposit Schedule - description: The deposit schedule assigned by the state agency. - value: Monthly - editable: true - metadata: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - tax-requirements-metadata-radio: - company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 - state: GA - requirement_sets: - - state: GA - key: taxrates - label: Tax Rates - effective_from: '2022-01-01' - requirements: - - key: suireimbursable - applicable_if: [] - label: SUI Reimburser - description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses may be allowed to reimburse the state if one of their employees collects unemployment benefits. - value: false - editable: true - metadata: - type: radio - options: - - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly - short_label: Not Reimbursable - value: false - - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don't have to pay SUI taxes quarterly - short_label: Reimbursable - value: true - tax-requirements-metadata-account-number: - company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 - state: GA - requirement_sets: - - state: GA - key: registrations - label: Registrations - effective_from: - requirements: - - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: Your state withholding account number. - value: 1233214-AB - editable: true - metadata: - type: account_number - mask: "#######-^^" - prefix: - tax-requirements-metadata-tax-rate: - company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 - state: GA - requirement_sets: - - state: GA - key: taxrates - label: Tax Rates - effective_from: '2022-01-01' - requirements: - - key: e0ac2284-8d30-4100-ae23-f85f9574868b - applicable_if: - - key: suireimbursable - value: false - label: Total Tax Rate - description: The assigned SUI tax rate for this state. - value: '0.05' - editable: true - metadata: - type: tax_rate - validation: - type: min_max - min: '0.0004' - max: '0.081' + success_status: + uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 + company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + account_type: Checking + routing_number: '851070439' + hidden_account_number: XXXX4087 + verification_status: verified + verification_type: bank_deposits + name: Employer Funding Account + reverse_wire_enabled: false + plaid_external_status: + uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 + company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + account_type: Checking + routing_number: '851070439' + hidden_account_number: XXXX4087 + verification_status: verified + verification_type: plaid_external + name: Employer Funding Account + reverse_wire_enabled: true + x-tags: + - Company Bank Accounts + properties: + uuid: + type: string + description: UUID of the bank account + company_uuid: + type: string + description: UUID of the company + account_type: + type: string + description: Bank account type + enum: + - Checking + - Savings + routing_number: + type: string + description: The bank account's routing number + hidden_account_number: + type: string + description: Masked bank account number + verification_status: + type: string + enum: + - awaiting_deposits + - ready_for_verification + - verified + description: |- + The verification status of the bank account. + + 'awaiting_deposits' means the bank account is just created and money is being transferred. + 'ready_for_verification' means the micro-deposits are completed and the verification process can begin by using the verify endpoint. + 'verified' means the bank account is verified. + verification_type: + type: string + enum: + - bank_deposits + - plaid + - plaid_external + description: |- + The verification type of the bank account. + + 'bank_deposits' means the bank account is connected by entering routing and accounting numbers and verifying through micro-deposits. + 'plaid' means the bank account is connected through Plaid. + plaid_status: + anyOf: + - type: string + enum: + - connected + - disconnected + - type: 'null' + description: The Plaid connection status of the bank account. Only applies when verification type is Plaid. + last_cached_balance: + type: + - string + - 'null' + description: The last fetch balance for the bank account. Please be aware that this amount does not reflect the most up-to-date balance and only applies when the verification type is Plaid. + balance_fetched_date: + type: + - string + - 'null' + description: The balance fetch date associated with the last_cached_balance. Only applies when verification type is Plaid. + name: + type: string + description: Name of bank account + reverse_wire_enabled: + type: + - boolean + - 'null' + description: |- + Whether the company has at least one bank account with active reverse-wire + funding. The same value is returned on every bank-account row in this + response. + required: + - uuid + Company-Bank-Account-Request: + type: object + properties: + routing_number: + type: string + description: The bank routing number + account_number: + type: string + description: The bank account number + account_type: + type: string + description: The bank account type + enum: + - Checking + - Savings + required: + - routing_number + - account_number + - account_type + Employee-Bank-Account-Request: + type: object + description: Request body for creating or updating an employee bank account. Send these fields as top-level JSON keys (the API wraps them server-side). + properties: + routing_number: + type: string + description: The bank routing number (nine digits). + example: '266905059' + account_number: + type: string + description: The bank account number. + example: '5809431207' + account_type: + type: string + description: The bank account type. + example: Checking + enum: + - Checking + - Savings + name: + type: string + description: A name for the bank account (e.g. "Primary Checking"). + example: BoA Checking Account + required: + - routing_number + - account_number + - account_type + - name + Company-Bank-Account-Verify-Request: + type: object + description: Request body for verifying a company bank account with the two micro-deposit amounts. + required: + - deposit_1 + - deposit_2 + properties: + deposit_1: + type: number + format: float + description: The first micro-deposit amount (order does not matter). + deposit_2: + type: number + format: float + description: The second micro-deposit amount (order does not matter). + Plaid-Processor-Token-Request: + type: object + description: Request body for creating a verified company bank account from a Plaid processor token. + required: + - owner_type + - owner_id + - processor_token + properties: + owner_type: + description: The owner type of the bank account + type: string + enum: + - Company + owner_id: + description: The owner UUID of the bank account + type: string + processor_token: + description: The Plaid processor token + type: string + x-examples: + example: + owner_type: Company + owner_id: ef279fbd-0fc6-4cf1-a977-6939d621c429 + processor_token: processor-sandbox-0asd1-a92nc + Benefit-Type-Requirements: + description: '' + type: object + x-tags: + - Company Benefits + properties: + employee_deduction: + type: object + description: The amount to be deducted, per pay period, from the employee's pay. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + deduct_as_percentage: + type: object + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + catch_up: + type: object + description: Whether the employee should use a benefit’s 'catch up' rate. Only Roth 401k and 401k benefits use this value for employees over 50. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + limit_option: + type: object + description: Some benefits require additional information to determine their limit. For example, for an HSA benefit, the limit option should be either 'Family' or 'Individual'. For a Dependent Care FSA benefit, the limit option should be either 'Joint Filing or Single' or 'Married and Filing Separately'. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + company_contribution_annual_maximum: + type: object + description: The maximum company contribution amount per year. A null value signifies no limit. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + coverage_salary_multiplier: + type: object + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + coverage_amount: + type: object + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + x-examples: + Example: + employee_deduction: + required: true + editable: true + default_value: + choices: + contribution: + required: true + editable: true + default_value: + choices: + - amount + deduct_as_percentage: + required: false + editable: false + default_value: + choices: + catch_up: + required: false + editable: false + default_value: + choices: + limit_option: + required: false + editable: false + default_value: + choices: + company_contribution_annual_maximum: + required: false + editable: false + default_value: + choices: + coverage_salary_multiplier: + required: false + editable: false + default_value: + choices: + coverage_amount: + required: false + editable: false + default_value: + choices: + Benefit-Summary: description: '' - properties: - company_uuid: - type: string - state: - "$ref": "#/components/schemas/State" - requirement_sets: - type: array - items: - "$ref": "#/components/schemas/Tax-Requirement-Set" - Tax-Requirement-Set-Key: - title: Tax-Requirement-Set-Key - type: string - example: registrations - description: An identifier for a set of requirements. A list of requirement sets can contain multiple sets with the same `key` and different `effective_from` values. - Tax-Requirement-Key: - title: Tax-Requirement-Key - type: string - example: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - description: An identifier for an individual requirement. Uniqueness is guaranteed within a requirement set. - Tax-Requirement-Effective-From: - title: Tax-Requirement-Effective-From - type: - - string - - 'null' - example: '2022-01-01' - description: An ISO 8601 formatted date representing the date values became effective. Some requirement sets are effective dated, while others are not. Multiple requirement sets for the same state/key can/will exist with unique effective dates. If a requirement set is has an `effective_from` value, all requirement sets with the same key will also have an `effective_from` value. - State: - title: State - type: string - example: GA - description: One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC) - Time-Off-Policy: type: object + x-tags: + - Company Benefits x-examples: - success_status: - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: test policy - policy_type: vacation - accrual_method: per_hour_worked - accrual_rate: '40.0' - accrual_rate_unit: '40.0' - paid_out_on_termination: true - accrual_waiting_period_days: 10 - carryover_limit_hours: '100.0' - max_accrual_hours_per_year: '100.0' - max_hours: '100.0' - complete: true - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - policy_reset_date: 01-01 + typical_summary: + start_date: '2022-01-01' + end_date: '2022-12-31' + description: Simple IRA + company_benefit_deduction: '60.0' + company_benefit_contribution: '30.0' employees: - - uuid: c61d1895-5cf8-4217-88c8-20d7c3132a04 - balance: '40.0' - - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a - balance: '20.0' - success_status_no_employees: - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: test policy - policy_type: vacation - accrual_method: per_hour_worked - accrual_rate: '40.0' - accrual_rate_unit: '40.0' - paid_out_on_termination: true - accrual_waiting_period_days: 10 - carryover_limit_hours: '100.0' - max_accrual_hours_per_year: '100.0' - max_hours: '100.0' - complete: true - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - policy_reset_date: 01-01 - employees: [] - deactivated_status: - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: test policy - policy_type: vacation - accrual_method: per_hour_worked - accrual_rate: '40.0' - accrual_rate_unit: '40.0' - paid_out_on_termination: true - accrual_waiting_period_days: 10 - carryover_limit_hours: '100.0' - max_accrual_hours_per_year: '100.0' - max_hours: '100.0' - complete: true - version: - is_active: false - policy_reset_date: 01-01 - employees: [] - description: Representation of a Time Off Policy + - uuid: 54b7114f-f5e2-4f4b-911b-5cd5ad9032b0 + company_benefit_deduction: '60.0' + company_benefit_contribution: '30.0' + benefit_deduction: '660.0' + benefit_contribution: '330.0' + gross_pay: '18000.0' + imputed_pay: '350.0' + payroll_benefits: + - payroll_uuid: 8cc3471b-9da5-47df-88ea-f238c7cb968b + payroll_type: Regular + check_date: '2022-03-01' + gross_pay: '3000.0' + imputed_pay: '70.0' + company_benefit_deduction: '10.0' + company_benefit_contribution: '5.0' + pay_period: + start_date: '2022-02-01' + end_date: '2022-02-28' + - payroll_uuid: d9d92786-722b-4bf7-bb32-79140418d349 + payroll_type: Bonus + check_date: '2022-12-31' + gross_pay: '3000.0' + imputed_pay: '70.0' + company_benefit_deduction: '20.0' + company_benefit_contribution: '10.0' + pay_period: + start_date: nil + end_date: nil properties: - uuid: + start_date: type: string - description: Unique identifier of a time off policy - company_uuid: + description: The start date of benefit summary. + end_date: type: string - description: Unique identifier for the company owning the time off policy - name: + description: The end date of benefit summary. + description: type: string - description: Name of the time off policy - policy_type: + description: Description of the benefit. + company_benefit_deduction: type: string - description: Type of the time off policy. Only "vacation" and "sick" can be created through the API, but other types may be present if the company was previously a Gusto.com customer. - enum: - - vacation - - sick - - bereavement - - custom - - floating_holiday - - jury_duty - - learning_and_development - - parental_leave - - personal_day - - volunteer - - weather - accrual_method: + description: The aggregate of employee deduction for all employees given the period of time and the specific company benefit. + company_benefit_contribution: type: string - description: Policy time off accrual method - accrual_rate: - type: - - string - - 'null' - format: float - description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". - accrual_rate_unit: - type: - - string - - 'null' - format: float - description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". - paid_out_on_termination: - type: boolean - description: Boolean representing if an employee's accrued time off hours will be paid out on termination - accrual_waiting_period_days: - type: - - integer - - 'null' - description: Number of days before an employee on the policy will begin accruing time off hours - carryover_limit_hours: - type: - - string - - 'null' - format: float - description: The max number of hours an employee can carryover from one year to the next - max_accrual_hours_per_year: - type: - - string - - 'null' - format: float - description: The max number of hours an employee can accrue in a year - max_hours: - type: - - string - - 'null' - format: float - description: The max number of hours an employee can accrue - policy_reset_date: - type: - - string - - 'null' - description: The date the policy resets. Format MM-DD - complete: - type: boolean - description: boolean representing if a policy has completed configuration - version: - type: - - string - - 'null' - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. The version will be null if the policy is no longer active. - is_active: - type: boolean - description: boolean representing if a policy is active or not + description: The aggregate of company contribution for all employees given the period of time and the specific company benefit. employees: type: array - description: List of employee UUIDs under a time off policy + description: '' items: type: object properties: uuid: type: string - balance: + description: The UUID of the employee + company_benefit_deduction: type: string - description: The time off balance for the employee - required: - - uuid - - company_uuid - - name - - policy_type - - accrual_method - - is_active - - employees - Time-Off-Activity: + description: The sum of employee deduction for this employee given the period of time and the specific company benefit. + company_benefit_contribution: + type: string + description: The sum of company contribution for this employee given the period of time and the specific company benefit. + benefit_deduction: + type: string + description: The sum of employee benefit deduction for this employee given the period of time and the benefit type. + benefit_contribution: + type: string + description: The sum of company contribution for this employee given the period of time and the benefit type. + gross_pay: + type: string + description: Gross pay for this employee given the period of time. + imputed_pay: + type: string + description: Total imputed pay for this employee given the period of time (not scoped to a benefit type). + payroll_benefits: + type: array + items: + type: object + properties: + payroll_uuid: + type: string + payroll_type: + type: string + description: Whether it is regular or bonus payroll + check_date: + type: string + description: Check date of this payroll. + gross_pay: + type: string + description: Gross pay for this employee on the payroll. + imputed_pay: + type: string + description: Total imputed pay for this employee on the payroll. + company_benefit_deduction: + type: string + description: The employee benefit deduction amount for this employee on the payroll. + company_benefit_contribution: + type: string + description: The company contribution amount for this employee on the payroll. + pay_period: + type: object + properties: + start_date: + type: + - string + - 'null' + description: The beginning of the payroll's pay period. + end_date: + type: + - string + - 'null' + description: The end of the payroll's pay period. + Supported-Benefit: + description: '' type: object + properties: + benefit_type: + type: integer + description: The benefit type in Gusto. + readOnly: true + name: + type: string + description: The name of the benefit. + readOnly: true + description: + type: string + description: The description of the benefit. + readOnly: true + pretax: + type: boolean + description: Whether the benefit is deducted before tax calculations, thus reducing one’s taxable income + readOnly: true + posttax: + type: boolean + description: Whether the benefit is deducted after tax calculations. + readOnly: true + imputed: + type: boolean + description: Whether the benefit is considered imputed income. + readOnly: true + healthcare: + type: boolean + description: Whether the benefit is healthcare related. + readOnly: true + retirement: + type: boolean + description: Whether the benefit is associated with retirement planning. + readOnly: true + yearly_limit: + type: boolean + description: Whether the benefit has a government mandated yearly limit. If the benefit has a government mandated yearly limit, employees cannot be added to more than one benefit of this type. + readOnly: true + category: + type: string + description: Category where the benefit belongs to. + readOnly: true + writable_by_application: + type: boolean + description: Whether this benefit can be written (created, updated, or destroyed). Returns true if the benefit type is permitted for the application, false otherwise. + readOnly: true x-examples: - example: - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::AddToPolicy - event_description: 'Added to policy: Vacation Per Hour Worked' - effective_time: '2022-09-27T13:43:03.000-07:00' - balance: '0.0' - balance_change: '0.0' - description: Representation of a Time Off Activity + Example: + benefit_type: 1 + name: Medical Insurance + description: Deductions and contributions for Medical Insurance + pretax: true + posttax: false + imputed: false + healthcare: true + retirement: false + yearly_limit: false + category: Health + Supported-Benefits-List: + benefit_type: 1 + name: Medical Insurance + description: Deductions and contributions for Medical Insurance + pretax: true + posttax: false + imputed: false + healthcare: true + retirement: false + yearly_limit: false + category: Health + Contribution-Exclusion: + description: The representation of a contribution exclusion for a company benefit. + type: object + properties: + contribution_uuid: + type: string + description: The UUID of the contribution type. + example: '082dfd3e-5b55-11f0-bb42-ab7136ba04e2' + contribution_type: + type: string + description: The name of the contribution type. + example: Bonus + excluded: + type: boolean + description: Whether this contribution type is excluded from the benefit. + required: + - contribution_uuid + - contribution_type + - excluded + x-tags: + - Company Benefits + x-examples: + exclusion_bonus: + contribution_uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 + contribution_type: Bonus + excluded: false + exclusion_cash_tips: + contribution_uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + contribution_type: Cash Tips + excluded: false + exclusion_commission: + contribution_uuid: 60191999-004a-49d9-b163-630574433653 + contribution_type: Commission + excluded: false + exclusion_regular: + contribution_uuid: 75a7a827-1f2d-4d6f-94f2-514c1fc32b13 + contribution_type: Regular + excluded: false + exclusion_imputed: + contribution_uuid: eead3c7c-7964-4e3c-b609-670456127b09 + contribution_type: Life insurance imputed benefit + excluded: true + Company-Benefit-Create-Request: + description: '' + type: object properties: - policy_uuid: - type: - - string - - 'null' - description: unique identifier of a time off policy - time_off_type: - type: string - description: Type of the time off activity - enum: - - vacation - - sick - policy_name: - type: - - string - - 'null' - description: The name of the time off policy for this activity - event_type: + benefit_type: + type: integer + description: The ID of the benefit to which the company benefit belongs. + active: + type: boolean + default: true + description: Whether this benefit is active for employee participation. + description: type: string - description: The type of the time off event/activity - event_description: - type: - - string - - 'null' - description: A description for the time off event/activity - effective_time: - type: - - string - - 'null' - description: The datetime of the time off activity - balance: - type: - - string - - 'null' - format: float - description: The time off balance at the time of the activity - balance_change: - type: - - string - - 'null' - format: float - description: The amount the time off balance changed as a result of the activity - Holiday-Pay-Policy: + description: The description of the company benefit.For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like "Kaiser Permanente" or "Blue Cross/ Blue Shield". + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + required: + - description + Company-Benefit-Update-Request: + description: '' type: object - x-examples: - success_status: - version: 1b37938b017c7fd7116bada007072290 - company_uuid: b7845189-f12b-4378-918a-d2b9de3dc4ea - federal_holidays: - new_years_day: - selected: true - name: New Year's Day - date: January 1 - mlk_day: - selected: true - name: Martin Luther King, Jr. Day - date: Third Monday in January - presidents_day: - selected: false - name: Presidents' Day - date: Third Monday in February - memorial_day: - selected: true - name: Memorial Day - date: Last Monday in May - juneteenth: - selected: false - name: Juneteenth - date: June 19 - independence_day: - selected: true - name: Independence Day - date: July 4 - labor_day: - selected: false - name: Labor Day - date: First Monday in September - columbus_day: - selected: false - name: Columbus Day (Indigenous Peoples' Day) - date: Second Monday in October - veterans_day: - selected: true - name: Veterans Day - date: November 11 - thanksgiving: - selected: true - name: Thanksgiving - date: Fourth Thursday in November - christmas_day: - selected: true - name: Christmas Day - date: December 25 - employees: - - uuid: 1ca3cd25-3eda-48c6-ac88-f0e7fb91a15a - description: Representation of a Holiday Pay Policy properties: version: type: string description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - company_uuid: + active: + type: boolean + description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. + description: type: string - description: A unique identifier for the company owning the holiday pay policy - federal_holidays: - type: object - description: List of the eleven supported federal holidays and their details - properties: - new_years_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - mlk_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - presidents_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - memorial_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - juneteenth: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - independence_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - labor_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - columbus_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - veterans_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - thanksgiving: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - christmas_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - employees: + description: The description of the company benefit.For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like "Kaiser Permanente" or "Blue Cross/ Blue Shield". + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to short-term and long-term disability benefits (different from voluntary disability). + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to short-term and long-term disability benefits (different from voluntary disability). + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + required: + - version + Contribution-Exclusion-Update-Request: + description: '' + type: object + properties: + contribution_exclusions: type: array - description: List of employee uuids under a holiday pay policy + description: The list of contribution exclusions to update items: - type: object - properties: - uuid: - type: string + "$ref": "#/components/schemas/Contribution-Exclusion" required: - - version - - company_uuid - - federal_holidays - - employees - Paid-Holidays: - type: array - description: Representation of a company's paid holidays as described by their holiday pay policy - items: - "$ref": "#/components/schemas/Paid-Holiday" - Minimum-Wage: + - contribution_exclusions + Employee-Benefit-Bulk-Update-Request: + description: '' type: object - description: Representation of a Minimum Wage properties: - uuid: - type: string - description: unique identifier of a minimum wage - wage: - type: string - format: float - description: The wage rate for a minimum wage record. Represented as a float, e.g. "15.0". - wage_type: - type: string - description: The type of wage the minimum wage applies to, e.g. "Regular", "Regular-Industry-Specific". - effective_date: - type: string - format: date - description: The date the minimum wage rule is effective on. - authority: - type: string - description: The governing authority that created the minimum wage, e.g. "City", "State", or "Federal". - notes: - type: string - description: Description of parties the minimum wage applies to. + employee_benefits: + type: array + description: The list of employee benefits to create or update + items: + "$ref": "#/components/schemas/Employee-Benefit-For-Company-Benefit" required: - - uuid - - wage - - wage_type - - effective_date - - authority - Notification: + - employee_benefits + Company-Benefit-With-Employee-Benefits: + description: The representation of a company benefit. type: object + x-examples: + Example: + uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 + version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 + active: true + description: Kaiser Permanente + source: external + partner_name: XYZ Corp + deletable: true + supports_percentage_amounts: true + responsible_for_employer_taxes: false + responsible_for_employee_w2: false + catch_up_type: elective + employee_benefits: + - employee_uuid: ae44a0b2-3c89-41e1-91c8-5f8224a779ca + company_benefit_uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 + active: true + deduct_as_percentage: false + employee_deduction: '3' + company_contribution: '0' + uuid: 9988f241-9aee-4383-bfca-eac79cf58135 + contribution: + type: amount + value: '0' properties: - uuid: + version: type: string - description: Unique identifier of a notification. + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. company_uuid: type: string - description: Unique identifier of the company to which the notification belongs. - title: + description: The UUID of the company. + readOnly: true + uuid: type: string - description: The title of the notification. This highlights the actionable component of the notification. - message: + description: The UUID of the company benefit. + readOnly: true + benefit_type: + type: integer + description: The type of the benefit to which the company benefit belongs (same as benefit_id). + readOnly: true + active: + type: boolean + default: true + description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. + description: type: string - description: The message of the notification. This provides additional context for the user and recommends a specific action to resolve the notification. - status: + minLength: 1 + description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. + source: type: string - description: Represents the notification's status as managed by our system. It is updated based on observable system events and internal business logic, and does not reflect resolution steps taken outside our system. This field is read-only and cannot be modified via the API. enum: - - open - - resolved - - expired - category: + - internal + - external + - partnered + description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". + readOnly: true + partner_name: + type: + - string + - 'null' + description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". + readOnly: true + deletable: + type: boolean + description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner + supports_percentage_amounts: + type: boolean + description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. + readOnly: true + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + employee_benefits: + type: array + items: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee to which the benefit belongs. + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + active: + type: boolean + default: true + description: Whether the employee benefit is active. + deduct_as_percentage: + type: boolean + default: false + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction: + type: string + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + company_contribution: + type: string + description: The value of the company contribution + effective_date: + type: string + description: The date when the employee benefit becomes effective. If not provided, the benefit will be effective from 1970-01-01 (unix epoch). + expiration_date: + type: string + description: The date when the employee benefit expires. If not provided, the benefit will have no expiration date. + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + type: + type: string + description: |- + The company contribution scheme. + + "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + "tiered": The company contribution varies according to the size of the employee deduction. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + - type: object + properties: + tiers: + type: array + description: '' + items: + type: object + description: A single tier of a tiered matching scheme. + properties: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and `rate` of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + threshold_delta: + type: string + description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. + required: + - uuid + Company-Benefit: + description: The representation of a company benefit. + type: object + x-examples: + Example: + uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be + version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 + benefit_type: 1 + active: true + description: Kaiser Permanente + enrollment_count: 2 + source: external + partner_name: XYZ Corp + deletable: true + supports_percentage_amounts: true + responsible_for_employer_taxes: false + responsible_for_employee_w2: false + catch_up_type: elective + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + enrollment_count: + type: integer + description: The number of employees enrolled in the benefit, only returned when enrollment_count query param is set to true. + readOnly: true + company_uuid: type: string - description: The notification's category. - actionable: - type: boolean - description: Indicates whether a notification requires action or not. If false, the notification provides critical information only. - can_block_payroll: + description: The UUID of the company. + readOnly: true + uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + benefit_type: + type: integer + description: The type of the benefit to which the company benefit belongs. + readOnly: true + active: type: boolean - description: Indicates whether a notification may block ability to run payroll. If true, we suggest that these notifications are prioritized to your end users. - published_at: + default: true + description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. + description: type: string - description: Timestamp of when the notification was published. - due_at: + minLength: 1 + description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. + source: + type: string + enum: + - internal + - external + - partnered + description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". + readOnly: true + partner_name: type: - string - 'null' - description: Timestamp of when the notification is due. If the notification has no due date, this field will be null. - template_variables: - type: object - description: An object containing template variables used to render the notification. The structure of this object depends on the notification category. Each category defines a fixed set of variable names (keys), which are always present. The values of these variables can vary depending on the specific notification instance. - additionalProperties: - type: string - resources: - type: array - description: An array of entities relevant to the notification - items: - type: object - properties: - entity_type: - type: string - description: The type of entity being described. - enum: - - BankAccount - - Contractor - - ContractorPayment - - Employee - - Payroll - - PaySchedule - - RecoveryCase - - Signatory - - Wire In Request - entity_uuid: - type: string - description: Unique identifier of the entity - reference_type: - type: string - description: Optional. The type of a resource that is related to the one described by entity_type and entity_uuid. For instance, if the entity_type is “BankAccount”, the reference_type could be the “Employee” or “Contractor” to whom the bank account belongs. - reference_uuid: - type: string - description: Optional. Unique identifier of the reference. - required: - - entity_type - - entity_uuid + description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". + readOnly: true + deletable: + type: boolean + description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner + supports_percentage_amounts: + type: boolean + description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. + readOnly: true + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' required: - uuid - - company_uuid - - title - - message - - category - - actionable - - status - - published_at - - due_at - - resources - - can_block_payroll - x-examples: - notification_show: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - company_uuid: 88f7cca1-dcad-4d20-84db-7fb80303d69f - title: 'Action required: Additional information needed to process payroll' - message: If we do not receive this information as soon as possible, your payroll may not be processed on time. - status: open - category: information_request - actionable: true - can_block_payroll: true - published_at: '2022-01-01T00:00:00.000Z' - due_at: '2022-02-01T00:00:00.000Z' - template_variables: - blocked_task: Payroll - resources: - - entity_type: Employee - entity_uuid: 21b6f9ce-0ac4-4745-8d8a-127f8c0f00f2 - Event: + Earning-Type: + description: The representation of an earning type in Gusto. type: object x-examples: - example: - uuid: f7397a24-57ad-4fae-b011-d258e8232900 - event_type: employee.bank_account.created - resource_type: Company - resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - entity_type: BankAccount - entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - timestamp: 1686784995 - description: Representation of an Event + success: + name: Cash Tips + uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + active: true + custom_earning_type: + name: Gym Membership Stipend + uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 + active: true properties: - uuid: - type: string - description: Unique identifier for the event. - event_type: - type: string - description: Description of the event (e.g., payroll.submitted, or company.form.signed). - resource_type: - type: string - enum: - - Company - description: Name of the parent resource of the described entity. - resource_uuid: - type: string - description: Unique identifier for the parent resource. - entity_type: + name: type: string - description: Name of the entity that the event corresponds to. - entity_uuid: + description: The name of the earning type. + uuid: type: string - description: Unique identifier for the entity. - timestamp: - type: integer - description: Time at which this event was created. Measured in seconds since the Unix epoch. + description: The ID of the earning type. + readOnly: true + active: + type: boolean + description: Whether the earning type is active. + x-tags: + - Earning Types required: - uuid - Invoice-Data: + Earning-Type-List: type: object + description: Lists of default and custom earning types for a company. x-examples: - example: - active_companies: - - company_uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - active_employees: 5 - active_contractors: 3 - initial_invoice_period: 2022-01 - - company_uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - active_employees: 0 - active_contractors: 1 - initial_invoice_period: 2023-05 - description: Representation of a partners invoice data - properties: - active_companies: - type: array - description: The list of companies that are active within the invoice period - items: - type: object - properties: - company_uuid: - type: string - description: unique identifier for the company associated with the invoice data - active_employees: - type: integer - description: The number of active employees the company was or will be invoiced for that invoice period. Active employees are calculated as the count of onboarded employees hired before the end of the invoice period and not terminated before the start of the invoice period. - active_contractors: - type: integer - description: The number of active contractors the company was or will be invoiced for that invoice period. Active contractors are calculated as any contractor with an active contractor payment during the invoice period. - initial_invoice_period: - type: string - description: The first invoice period for the company. This will either be the invoice period of the first invoice-able event (first payroll or contractor payment) or the date they migrated to embedded, whichever is later. - Information-Request: + success: + default: + - name: Bonus + uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 + active: true + - name: Cash Tips + uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + active: true + - name: Commission + uuid: 60191999-004a-49d9-b163-630574433653 + active: true + - name: Correction Payment + uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 + active: true + - name: Minimum Wage Adjustment + uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 + active: true + - name: Paycheck Tips + uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf + active: true + - name: Severance + uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 + active: true + custom: + - name: Gym Membership Stipend + uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 + active: true + defaults_only: + default: + - name: Bonus + uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 + active: true + - name: Cash Tips + uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + active: true + - name: Commission + uuid: 60191999-004a-49d9-b163-630574433653 + active: true + - name: Correction Payment + uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 + active: true + - name: Minimum Wage Adjustment + uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 + active: true + - name: Paycheck Tips + uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf + active: true + - name: Severance + uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 + active: true + custom: [] + properties: + default: + type: array + description: The default earning types for the company. + items: + "$ref": "#/components/schemas/Earning-Type" + custom: + type: array + description: The custom earning types for the company. + items: + "$ref": "#/components/schemas/Earning-Type" + Employee-Benefit-Base-Object: + description: '' type: object - x-examples: - example: - uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 - company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c - type: account_protection - status: pending_response - blocking_payroll: false - required_questions: [] - information_request_index_item: - uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 - company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c - type: company_onboarding - status: pending_response - blocking_payroll: true - required_questions: - - question_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - question_text: How much wood can a wood chuck chuck? - response_type: text - - question_uuid: b2c3d4e5-f6a7-8901-bcde-f12345678901 - question_text: Please upload supporting documentation - response_type: document - description: Representation of an information request + title: '' + additionalProperties: true properties: - uuid: + version: type: string - description: Unique identifier of an information request - company_uuid: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + active: + type: boolean + default: true + description: Whether the employee benefit is active. + employee_deduction: type: string - description: Unique identifier of the company to which the information requests belongs - type: - description: The type of information request + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + deduct_as_percentage: + type: boolean + default: false + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction_annual_maximum: + type: + - string + - 'null' + description: The maximum employee deduction amount per year. A null value signifies no limit. + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + type: + type: string + description: |- + The company contribution scheme. + + "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + "tiered": The company contribution varies according to the size of the employee deduction. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + - type: object + properties: + tiers: + type: array + description: '' + items: + type: object + description: A single tier of a tiered matching scheme. + properties: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and `rate` of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + threshold_delta: + type: string + description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. + elective: + type: boolean + description: Whether the company contribution is elective (aka matching). For "tiered" contribution types, this is always true. + default: false + company_contribution_annual_maximum: + type: + - string + - 'null' + description: The maximum company contribution amount per year. A null value signifies no limit. + limit_option: + type: + - string + - 'null' + description: |- + Some benefits require additional information to determine their limit. + + `Family` and `Individual` are applicable to HSA benefit. + + `Joint Filing or Single` and `Married and Filing Separately` are applicable to Dependent Care FSA benefit. + catch_up: + type: + - boolean + - 'null' + default: false + description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. + retirement_loan_identifier: + type: + - string + - 'null' + description: Identifier for a 401(k) loan assigned by the 401(k) provider + coverage_amount: + type: + - string + - 'null' + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + deduction_reduces_taxable_income: + description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' anyOf: - type: string enum: - - company_onboarding - - account_protection - - payment_request - - payment_error + - unset + - reduces_taxable_income + - does_not_reduce_taxable_income - type: 'null' - status: + default: unset + coverage_salary_multiplier: + type: + - string + - 'null' + default: '0.00' + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + company_contribution: type: string - description: The status of the information request - enum: - - pending_response - - pending_review - - approved - blocking_payroll: + default: '0.00' + description: The amount to be paid, per pay period, by the company. This field will not appear for tiered contribution types. + deprecated: true + contribute_as_percentage: type: boolean - description: If true, this information request is blocking payroll, and may require response or requires review from our Risk Ops team. - required_questions: - type: array - description: Questions the partner must answer or collect documents for - items: - type: object - properties: - question_uuid: - type: string - question_text: - type: string - response_type: - type: string - required: - - question_uuid - - question_text - - response_type - Recovery-Case: + default: false + description: Whether the company_contribution value should be treated as a percentage to be added to each payroll. This field will not appear for tiered contribution types. + deprecated: true + effective_date: + type: string + format: date + description: The date the employee benefit will start. + expiration_date: + type: + - string + - 'null' + format: date + description: The date the employee benefit will expire. A null value indicates the benefit will not expire. + Employee-Benefit-Create-Request: + description: '' type: object - x-examples: - example: - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - status: open - latest_error_code: R01 - original_debit_date: '2023-10-11' - check_date: '2023-10-13' - payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d - contractor_payment_uuids: - amount_outstanding: 10499.43 - event_total_amount: 5912.07 - recovery_case_index_item: - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - status: open - latest_error_code: R01 - original_debit_date: '2023-10-11' - check_date: '2023-10-13' - payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d - contractor_payment_uuids: - amount_outstanding: '10499.43' - event_total_amount: '5912.07' - description: Representation of a recovery case properties: - uuid: - type: string - description: Unique identifier of an recovery case - company_uuid: + company_benefit_uuid: type: string - description: Unique identifier of the company to which the recovery case belongs - status: + description: The UUID of the company benefit. + active: + type: boolean + default: true + description: Whether the employee benefit is active. + employee_deduction: type: string - description: Status of the recovery case - enum: - - open - - redebit_initiated - - wire_initiated - - recovered - - lost - latest_error_code: + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + deduct_as_percentage: + type: boolean + default: false + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction_annual_maximum: type: - string - 'null' - description: The latest bank error code for the recovery case. See [this doc](https://docs.gusto.com/embedded-payroll/docs/ach-codes-and-transaction-types) for a list of common ACH return codes. - original_debit_date: + description: The maximum employee deduction amount per year. A null value signifies no limit. + contribution: + type: object + description: An object representing the company contribution type and value. + properties: + type: + type: string + enum: + - tiered + - percentage + - amount + description: |- + The company contribution scheme. + + `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + - type: array + description: For `tiered` contribution types, an array of tiers. + items: + type: object + description: A single tier of a tiered matching scheme. + properties: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and rate of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + elective: + type: boolean + description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. + default: false + company_contribution_annual_maximum: type: - string - 'null' - description: Date when funds were originally debited from the company's bank account - check_date: - type: string - description: Check date for the associated payroll or contractor payments - payroll_uuid: + description: The maximum company contribution amount per year. A null value signifies no limit. + limit_option: + description: |- + Some benefits require additional information to determine + their limit. + + `Family` or `Individual`: Applicable to HSA benefit. + + `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. + anyOf: + - type: string + enum: + - Family + - Individual + - Joint Filing or Single + - Married and Filing Separately + - type: 'null' + catch_up: + type: boolean + default: false + description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. + coverage_amount: type: - string - 'null' - description: The uuid of the associated payroll for which the recovery case was created. If the recovery case was created for a contractor payment, this field will be null. - contractor_payment_uuids: - type: - - array - - 'null' - description: The uuids of the associated contractor payments for which the recovery case was created. If the recovery case was created for a payroll, this field will be null. - items: - type: string - amount_outstanding: - type: string - description: Amount outstanding for the recovery case - event_total_amount: - type: string - description: Total amount to be debited from the payroll or contractor payments - required: - - uuid - Ach-Transaction: - type: object - x-examples: - example: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 456e7890-e12b-34c5-d678-901234567890 - payment_event_type: Payroll - payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 - recipient_type: Employee - recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 - error_code: - transaction_type: Credit employee pay - payment_status: submitted - payment_direction: credit - payment_event_check_date: '2023-10-02' - payment_date: '2023-10-17' - amount: '123.00' - description: PAY 380654 - description: Representation of an ACH transaction - properties: - uuid: - type: string - description: Unique identifier of an ACH transaction - company_uuid: - type: string - description: Unique identifier of the company to which the ACH transaction belongs - payment_event_type: - type: string - description: The type of payment event associated with the ACH transaction - enum: - - Payroll - - ContractorPayment - payment_event_uuid: + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + coverage_salary_multiplier: type: string - description: Unique identifier for the payment event associated with the ACH transaction - recipient_type: - description: The type of recipient associated with the ACH transaction + default: '0.00' + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + deduction_reduces_taxable_income: + description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' anyOf: - type: string enum: - - Employee - - Contractor + - unset + - reduces_taxable_income + - does_not_reduce_taxable_income - type: 'null' - recipient_uuid: + company_contribution: type: string - description: Unique identifier for the recipient associated with the ACH transaction - error_code: + default: '0.00' + description: The amount to be paid, per pay period, by the company. + deprecated: true + contribute_as_percentage: + type: boolean + default: false + description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. + deprecated: true + effective_date: + type: string + format: date + default: '1970-01-01' + description: The date the employee benefit will start. If not provided, the benefit will be effective from 1970-01-01 (unix epoch). + expiration_date: type: - string - 'null' - description: The error code associated with the ACH transaction, if any. If there is no error on the ACH transaction, this field will be nil. See [this article](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/) for a complete list of ACH return codes. - transaction_type: - type: string - description: The type of transaction associated with the ACH transaction - payment_status: - type: string - description: The status of the ACH transaction - enum: - - unsubmitted - - submitted - - successful - - failed - payment_direction: - type: string - description: The direction of the payment - enum: - - credit - - debit - payment_event_check_date: - type: string - description: The date of the payment event check associated with the ACH transaction - payment_date: - type: string - description: The date of the payment associated with the ACH transaction - amount: - type: string - description: The amount of money moved by the ACH transaction. This amount is always non-negative. - description: - type: string - description: The description of the ACH transaction. Can be used to identify the ACH transaction on the recipient's bank statement. + format: date + default: + description: The date the employee benefit will expire. A null value indicates the benefit will not expire. required: - - uuid - Wire-In-Request: - type: object + - company_benefit_uuid x-examples: - example: - uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: '21911761' - recipient_routing_number: '123454321' - additional_notes: Additional Notes - bank_name: JP Morgan Chase - date_sent: '2024-06-10' - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: '1014500.00' - requested_amount: '1014500.00' - wire_in_deadline: '2024-06-21T18:00:00Z' - description: Representation of a wire in request + Example: + company_benefit_uuid: f68abb42-431e-4392-bc3f-2795627e00f3 + active: true + employee_deduction: '100.00' + contribution: + type: amount + value: '100.00' + Employee-Benefit-Update-Request: + description: '' + type: object properties: - uuid: - type: string - description: Unique identifier of a wire in request - status: - type: string - description: Status of the wire in - enum: - - awaiting_funds - - pending_review - - approved - - canceled - origination_bank: - type: string - description: Name of bank receiving the wire in - origination_bank_address: - type: string - description: Address of bank receiving the wire in - recipient_name: - type: string - description: Name of the recipient of the wire In - recipient_address: - type: string - description: Address of the recipient of the wire in - recipient_account_number: + version: type: string - description: Recipient bank account number - recipient_routing_number: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + active: + type: boolean + description: Whether the employee benefit is active. + employee_deduction: type: string - description: Recipient bank routing number - additional_notes: + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + deduct_as_percentage: + type: boolean + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction_annual_maximum: type: - string - 'null' - description: Notes for the wire in request - bank_name: + description: The maximum employee deduction amount per year. A null value signifies no limit. + effective_date: + type: string + format: date + description: The date the employee benefit will start. + expiration_date: type: - string - 'null' - description: Name of the bank initiating the wire in - date_sent: + format: date + description: The date the employee benefit will expire. A null value indicates the benefit will not expire. + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + type: + type: string + enum: + - amount + - percentage + - tiered + description: |- + The company contribution scheme. + + `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + - type: array + description: For `tiered` contribution types, an array of tiers. + items: + type: object + description: A single tier of a tiered matching scheme. + properties: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and rate of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + elective: + type: boolean + description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. + default: false + company_contribution_annual_maximum: type: - string - 'null' - description: Date the wire in was sent - unique_tracking_code: - type: string - description: Include in note with bank to track payment - payment_type: - type: string - description: Type of payment for the wire in - enum: - - Payroll - - ContractorPaymentGroup - payment_uuid: - type: string - description: Unique identifier of the payment - amount_sent: + description: The maximum company contribution amount per year. A null value signifies no limit. + limit_option: + description: |- + Some benefits require additional information to determine + their limit. + + `Family` or `Individual`: Applicable to HSA benefit. + + `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. + anyOf: + - type: string + enum: + - Family + - Individual + - Joint Filing or Single + - Married and Filing Separately + - type: 'null' + catch_up: + type: boolean + default: false + description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. + coverage_amount: type: - string - 'null' - description: Amount sent through wire in - requested_amount: + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + deduction_reduces_taxable_income: + description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' + anyOf: + - type: string + enum: + - unset + - reduces_taxable_income + - does_not_reduce_taxable_income + - type: 'null' + default: unset + coverage_salary_multiplier: type: string - description: Requested amount for the payment - wire_in_deadline: + default: '0.00' + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + company_contribution: type: string - description: Deadline to submit the wire in - Time-Sheet: + default: '0.00' + description: The amount to be paid, per pay period, by the company. + deprecated: true + contribute_as_percentage: + type: boolean + default: false + description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. + deprecated: true + required: + - version + x-examples: + Example: + version: '09j3d29jqdpj92109j9j2d90dq' + employee_deduction: '250.00' + Employee-Benefit: + description: The representation of an employee benefit. type: object + title: '' x-examples: - example: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440000 - status: approved - time_zone: America/Los_Angeles - entity_type: Employee - version: 72deb67e16f7b92713c00d3582fa6c68 - job_uuid: 123e4567-e89b-12d3-a456-426655440000 - entity_uuid: 123e4567-e89b-12d3-a456-426655440000 - shift_started_at: '2025-03-04T13:07:10Z' - shift_ended_at: '2025-03-04T16:07:10Z' - created_at: '2025-04-29T16:08:53Z' - updated_at: '2025-04-29T16:08:53Z' - metadata: {} - entries: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Regular - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Overtime - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Double overtime - description: Record representing an employee/contractor's time sheet + Example: + version: '09j3d29jqdpj92109j9j2d90dq' + employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 + company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be + active: true + uuid: e91ca856-a915-4339-9b18-29f9cd66b031 + employee_deduction: '100.00' + company_contribution: '100.00' + employee_deduction_annual_maximum: '200.00' + company_contribution_annual_maximum: '200.00' + limit_option: + retirement_loan_identifier: + deduct_as_percentage: false + contribute_as_percentage: false + catch_up: false + coverage_amount: + deduction_reduces_taxable_income: + coverage_salary_multiplier: '0.00' + contribution: + type: amount + value: '100.00' + elective: false + effective_date: '2025-01-01' + expiration_date: + Tiered Example: + version: '09j3d29jqdpj92109j9j2d90dq' + employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 + company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be + active: true + uuid: e91ca856-a915-4339-9b18-29f9cd66b031 + employee_deduction: '100.00' + employee_deduction_annual_maximum: '200.00' + company_contribution_annual_maximum: '200.00' + limit_option: + deduct_as_percentage: false + catch_up: false + coverage_amount: + deduction_reduces_taxable_income: + coverage_salary_multiplier: '0.00' + elective: true + contribution: + type: tiered + value: + tiers: + - rate: '100.0' + threshold: '2.0' + threshold_delta: '2.0' + - rate: '50.0' + threshold: '5.0' + threshold_delta: '3.0' + effective_date: '2025-01-01' + expiration_date: + allOf: + - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" + - type: object + additionalProperties: true + properties: + employee_uuid: + type: string + description: The UUID of the employee to which the benefit belongs. + readOnly: true + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + uuid: + type: string + description: The UUID of the employee benefit. + readOnly: true + required: + - uuid + Employee-Benefit-For-Company-Benefit: + description: The representation of an employee benefit for a company benefit. + type: object + title: '' + allOf: + - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" + - type: object + additionalProperties: true + properties: + employee_uuid: + type: string + description: The UUID of the employee to which the benefit belongs. + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + uuid: + type: string + description: The UUID of the employee benefit. Required for updating an effective dated employee benefit. + action: + type: string + description: The action to perform on the employee benefit. Required for creating/updating an effective dated employee benefit. + enum: + - create + - update + required: + - employee_uuid + Employee-Pay-Stub: + description: The representation of an employee pay stub information. + type: object properties: uuid: type: string - description: Unique identifier of the time sheet. - status: - type: string - description: Status of the time sheet. - enum: - - pending - - rejected - - approved - company_uuid: - type: string - description: Unique identifier of the company to which the time sheet belongs. - time_zone: - type: string - description: Time zone of where the time was tracked. - entity_type: + description: The UUID of the employee pay stub. + readOnly: true + check_date: type: string - description: Type of entity associated with the time sheet. - enum: - - Employee - - Contractor - entity_uuid: + description: The check date of the pay stub. + readOnly: true + gross_pay: type: string - description: Unique identifier of the entity associated with the time sheet. - version: + description: The gross pay amount for the pay stub. + readOnly: true + net_pay: type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/app-integrations/docs/idempotency) for information on how to use this field. - job_uuid: + description: The net pay amount for the pay stub. + readOnly: true + payroll_uuid: type: string - description: Unique identifier of the job for which time was reported. - shift_started_at: + description: A unique identifier of the payroll to which the pay stub belongs. + readOnly: true + check_amount: type: string - format: date-time - description: The start time of the shift. - shift_ended_at: + description: The check amount for the pay stub. + readOnly: true + x-tags: + - Payrolls + required: + - uuid + Pay-Period: + description: The representation of a pay period. + type: object + properties: + start_date: type: string - format: date-time - description: The end time of the shift. If the shift is still ongoing this field will be null. - created_at: + description: The start date, inclusive, of the pay period. + readOnly: true + end_date: type: string - format: date-time - description: Datetime for when time sheet was created. - updated_at: + minLength: 1 + description: The end date, inclusive, of the pay period. + pay_schedule_uuid: type: string - format: date-time - description: Datetime for when time sheet was updated. - synced_to_payroll_at: - type: - - string - - 'null' - format: date-time - description: Datetime for when time sheet was synced to payroll. Null if the time sheet has not yet been synced to payroll. - metadata: + description: A unique identifier of the pay schedule to which the pay period belongs. + readOnly: true + payroll: type: object - additionalProperties: - type: string - maxLength: 500 - propertyNames: - type: string - maxLength: 40 - maxProperties: 50 - description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. - entries: - type: array - description: Entries associated with the time sheet. - items: - type: object - properties: - uuid: - type: string - description: Unique identifier of the entry. - hours_worked: - type: string - format: float - description: Hours worked for this pay classification. Represented as a string, e.g. "1.500". - pay_classification: - type: string - description: Pay classification for the entry. - enum: - - Regular - - Overtime - - Double overtime - Company-Suspension: + description: Information about the payroll for the pay period. + properties: + payroll_uuid: + type: string + readOnly: true + description: The UUID of the payroll for this pay period. + check_date: + type: string + description: The date on which employees will be paid for the payroll if the payroll is submitted on time. + readOnly: true + processed: + type: boolean + readOnly: true + description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. + payroll_deadline: + type: string + format: date-time + description: The date by which payroll should be run for employees to be paid on time. Payroll data, such as time and attendance data, should be submitted on or before this date. + readOnly: true + payroll_type: + type: string + description: Whether it is regular pay period or transition pay period. + enum: + - regular + - transition + readOnly: true + readOnly: true + x-examples: + typical_pay_period: + start_date: '2024-01-01' + end_date: '2024-01-15' + pay_schedule_uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + payroll: + payroll_uuid: 8c2e1ef2-7514-5b17-9879-d2ee8e35e38b + check_date: '2024-01-19' + processed: false + payroll_deadline: '2024-01-17T18:00:00Z' + payroll_type: regular + x-tags: + - Payrolls + People-Batch: type: object - description: Record representing the suspension of a company's Gusto account. + description: A batch for bulk people creation. x-examples: - switching_provider: - uuid: ade4528c-6cc4-4bd5-917a-9d636317e7d6 - company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be - effective_date: '2025-07-23' - reason: switching_provider - leaving_for: adp - reconcile_tax_method: refund_taxes - file_yearly_forms: false - file_quarterly_forms: false - comments: - tax_refunds: [] - shutting_down: - uuid: 5f04b8d0-1a41-40c6-9f5e-10b26ed89729 - company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be - effective_date: '2025-07-23' - reason: shutting_down - leaving_for: - reconcile_tax_method: pay_taxes - file_yearly_forms: true - file_quarterly_forms: true - comments: - tax_refunds: [] + success_status: + uuid: 191e7162-3026-497e-aca2-f81b7e93204e + idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + status: pending + batch_action: create properties: uuid: type: string - description: Unique identifier for this suspension. - company_uuid: + format: uuid + description: The unique identifier of the people batch. + readOnly: true + idempotency_key: type: string - description: Unique identifier for the company which is suspended. - effective_date: + format: uuid + description: The idempotency key provided when creating the batch. + status: type: string - description: Date that the suspension took effect. - leaving_for: - type: - - string - - 'null' - description: Which competitor the company is joining instead. Only required if `reason` is `'switching_provider'`. - reason: + enum: + - pending + - processing + - completed + - failed + - partial_success + description: The current status of the batch processing. + batch_action: + type: string + description: The action being performed on the batch. + required: + - uuid + - idempotency_key + - status + - batch_action + People-Batch-Results: + type: object + description: A people batch with processing results. + x-examples: + success_status: + uuid: f711ab7a-2d44-4556-b90c-9f883195f53a + idempotency_key: 95d84feb-3a17-4c0b-a00b-bf8d3dec3326 + status: pending + submitted_at: '2026-03-02T15:09:50-08:00' + completed_at: + submitted_items: + processed_items: 0 + excluded_items: 0 + results: [] + properties: + uuid: + type: string + format: uuid + description: The unique identifier of the people batch. + readOnly: true + idempotency_key: type: string - description: Explanation for why the company's account was suspended. - reconcile_tax_method: + format: uuid + description: The idempotency key provided when creating the batch. + status: type: string - description: How Gusto will handle taxes already collected. enum: - - pay_taxes - - refund_taxes - file_quarterly_forms: - type: boolean - description: 'Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. - -' - file_yearly_forms: - type: boolean - description: 'Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. - -' - comments: + - pending + - processing + - completed + - failed + - partial_success + description: The current status of the batch processing. + submitted_at: + type: string + format: date-time + description: The timestamp when the batch was submitted. + completed_at: type: - string - 'null' - description: User-supplied comments describing why they are suspending their account. - tax_refunds: + format: date-time + description: The timestamp when the batch processing completed. + submitted_items: + type: + - integer + - 'null' + description: The number of items submitted in the batch. + processed_items: + type: integer + description: The number of items successfully processed. + excluded_items: + type: integer + description: The number of items excluded from processing. + results: type: array - description: 'Describes the taxes which are refundable to the company for this suspension. These may be refunded or paid by Gusto depending on the value in `reconcile_tax_method`. - -' + description: The results for each batch item. items: type: object properties: - amount: + external_id: type: string - description: Dollar amount. - description: + description: The external ID provided in the batch request. + role: type: string - description: What kind of tax this is. - Minimum-Wage-List: - type: array - x-examples: - success_status: - - uuid: 1b71bb5b-4811-46e9-8a8a-cf5521cbeda6 - authority: City - wage: '15.0' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - - uuid: 87434623-b57d-4630-8da5-9dde599c7840 - authority: City - wage: '10.5' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - - uuid: fa055c11-bfe4-4ac3-84dd-8502cf046b20 - authority: State - wage: '10.5' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - - uuid: cdd9dfc2-6465-4693-ae60-0eecff35038c - authority: Federal - wage: '10.5' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - items: - "$ref": "#/components/schemas/Minimum-Wage" - Employment-History-List: - type: array - x-examples: - success_status: - - hire_date: '2015-06-09' - termination_date: '2025-05-09' - file_new_hire_report: false - two_percent_shareholder: false - employment_status: full_time - items: - description: The representation of an employee's individual employements. - type: object - properties: - hire_date: - type: string - description: The employee's start day of work for an employment. - termination_date: - type: - - string - - 'null' - description: The employee's last day of work for an employment. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. - enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - not_set - Employee-Pay-Stubs-List: - type: array - x-examples: - success_status: - - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - check_date: '2023-11-24' - gross_pay: '880.0' - net_pay: '541.02' - payroll_uuid: a039cafb-745e-4af4-bf1e-935a86fc18e0 - check_amount: '500.2' - payment_method: Direct Deposit - items: - description: The representation of an employee pay stub information. - type: object - properties: - uuid: - type: string - description: The UUID of the employee pay stub. - readOnly: true - check_date: - type: string - description: The check date of the pay stub. - readOnly: true - gross_pay: - type: string - description: The gross pay amount for the pay stub. - readOnly: true - net_pay: - type: string - description: The net pay amount for the pay stub. - readOnly: true - payroll_uuid: - type: string - description: A unique identifier of the payroll to which the pay stub belongs. - readOnly: true - check_amount: - type: string - description: The check amount for the pay stub. - readOnly: true - payment_method: - type: string - description: The payment method for the pay stub. - enum: - - Direct Deposit - - Check - readOnly: true - x-tags: - - Payrolls - required: - - uuid - Employee-Work-Addresses-List: - type: array - x-examples: - success_status: - - uuid: '080b6254-ce7c-411f-9f7d-5a3ce3c51154' - employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf - location_uuid: 9ccfade8-82ee-490c-8711-5c0787bccde8 - effective_date: '2021-01-01' - active: false - version: 3097e9d0efb09ba2e00a8988a93b3091 - street_1: 91678 Farrell Meadow - street_2: Apt. 835 - city: Phoenix - state: AZ - zip: '85016' - country: USA - - uuid: 35d62f15-75da-45aa-9c97-adc57342b925 - employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf - location_uuid: 10330fe8-36ef-4713-aa59-9f8a432abd13 - effective_date: '2022-01-01' - active: false - version: 5f48ce54afed81bb11dd89461bd0e214 - street_1: 800 Adolfo Gardens - street_2: Suite 419 - city: Bremen - state: AL - zip: '35033' - country: USA - - uuid: 3f3ceaba-6b57-4039-a31a-0004bef83c6f - employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf - location_uuid: 98383e91-c67d-4b69-a617-5a57f91da48c - effective_date: '2023-01-01' - active: true - version: a8a78c851337676137e22caf56ffe5b5 - street_1: 2216 Icie Villages - street_2: Apt. 798 - city: Big Delta - state: AK - zip: '99737' - country: USA - items: - "$ref": "#/components/schemas/Employee-Work-Address" - Employee-Address-List: - type: array + enum: + - employee + description: The type of person created. + status: + type: string + enum: + - success + - partial_success + - failed + description: The status of this batch item. + idx: + type: integer + description: The index of this item in the original batch request. + uuid: + type: string + format: uuid + description: The UUID of the created person. + employee_uuid: + type: string + format: uuid + description: The UUID of the created employee (if role is employee). + errors: + type: + - array + - 'null' + description: Errors encountered while processing this batch item. + items: + type: object + properties: + error_key: + type: string + description: The key identifying the error source. + category: + type: string + description: The error category. + message: + type: + - string + - 'null' + description: Human-readable error message. + errors: + type: + - array + - 'null' + description: Nested errors for sub-operations. + items: + type: object + exclusions: + type: + - array + - 'null' + description: Items excluded from processing due to validation errors. + items: + type: object + properties: + external_id: + type: string + description: The external ID of the excluded item(s). + category: + type: string + description: The exclusion category. + message: + type: string + description: Human-readable explanation for exclusion. + item_count: + type: integer + description: Number of items affected by this exclusion. + required: + - uuid + - idempotency_key + - status + People-Batch-Conflict-Error: + type: object + description: Error response when a people batch idempotency key conflict occurs. x-examples: - success_status: - - uuid: d6b7472f-bb55-41ca-a55c-9adbd3c64e09 - version: 7eee445be93fc50fd3cbb55b8d943fb3 - employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd - street_1: 3121 Milky Way - street_2: '' - city: San Francisco - state: CA - zip: '94107' - country: USA - active: false - effective_date: '2024-06-09' - courtesy_withholding: false - - uuid: 1b59a593-d324-4d97-9296-99ecc95f81d1 - version: 5147ad755821c4ba3dbc3afa1055ff4d - employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd - street_1: 3624 Victoria Ln - street_2: '' - city: Cincinnati - state: OH - zip: '45208' - country: USA - active: true - effective_date: '2025-05-26' - courtesy_withholding: false - - uuid: 69489b54-976d-4027-8b51-702e5c8c62d3 - version: f0765fa5a85f62723320763494a481a6 - employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd - street_1: Main st. - street_2: '' - city: New York - state: NY - zip: '10011' - country: USA - active: false - effective_date: '2025-07-09' - courtesy_withholding: false - items: - "$ref": "#/components/schemas/Employee-Address" - Employee-State-Taxes-List: + conflict: + errors: + - error_key: idempotency_key + category: invalid_attribute_value + message: Idempotency token already used + metadata: + entity_uuid: 14c53a55-0a80-4d46-a866-f5f64bc06486 + entity_type: PeopleBatch + properties: + errors: + type: array + items: + type: object + properties: + error_key: + type: string + description: The key identifying the error source. + category: + type: string + description: The error category. + message: + type: string + description: Human-readable error message. + metadata: + type: object + properties: + entity_uuid: + type: string + format: uuid + description: The UUID of the existing entity. + entity_type: + type: string + description: The type of the existing entity. + Reversal-Payroll-Uuids-Type: type: array - x-examples: - success_status: - - uuid: 287d2c61-1d18-4126-8a4a-9cb29bbb6dac - employee_uuid: c963cb99-fe1c-4aa8-9d48-1ad211ad396f - state: CA - file_new_hire_report: false - is_work_state: true - questions: - - is_question_for_admin_only: false - label: Filing Status - description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. - -' - key: filing_status - input_question_format: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of Household - - value: E - label: Do Not Withhold - answers: - - value: M - valid_from: '2010-01-01' - valid_up_to: - - is_question_for_admin_only: false - label: Withholding Allowance - description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. - -' - key: withholding_allowance - input_question_format: - type: Number - answers: - - value: 1 - valid_from: '2010-01-01' - valid_up_to: - - is_question_for_admin_only: false - label: Additional Withholding - description: You can withhold an additional amount of California income taxes here. - key: additional_withholding - input_question_format: - type: Currency - answers: - - value: '0.0' - valid_from: '2010-01-01' - valid_up_to: - - is_question_for_admin_only: true - label: File a New Hire Report? - description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. - key: file_new_hire_report - input_question_format: - type: Select - options: - - value: true - label: Yes, file the state new hire report for me. - - value: false - label: No, I have already filed. - answers: - - value: false - valid_from: '2010-01-01' - valid_up_to: + description: Array of reversal payroll UUIDs, if applicable. + uniqueItems: true items: - type: object - properties: - uuid: - type: string - description: The uuid of the employee state field. - employee_uuid: - type: string - description: The employee's uuid - state: - type: string - description: Two letter US state abbreviation - file_new_hire_report: - type: - - boolean - - 'null' - is_work_state: - type: boolean - questions: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax-Question" + type: string + description: The UUID of the reversal payroll. + nullable: false + readOnly: true + Payroll-Minimal: + description: '' + type: object + x-tags: + - Payrolls + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + totals: + "$ref": "#/components/schemas/Payroll-Totals-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + submission_blockers: + "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" + credit_blockers: + "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" + reversal_payroll_uuids: + "$ref": "#/components/schemas/Reversal-Payroll-Uuids-Type" required: + - company_uuid - uuid - - employee_uuid - - state - - questions - Employee-State-Taxes-Request: + - payroll_uuid + - processed + Payroll-Blocker: type: object - properties: - states: - type: array - uniqueItems: true - items: - type: object - properties: - state: - type: string - questions: - type: array - uniqueItems: true - items: - type: object - properties: - key: - type: string - answers: - type: array - uniqueItems: true - items: - type: object - properties: - value: - oneOf: - - type: string - - type: number - - type: boolean - - type: 'null' - valid_from: - type: string - valid_up_to: - type: - - string - - 'null' - required: - - value - - valid_from - required: - - key - required: - - state required: - - states - Notifications-List: - type: array - x-examples: - success_status: - - uuid: d053ee2a-a80f-4a61-8bf8-6122c1f954dd - company_uuid: 46c8329d-ebd1-49ba-878c-810b481a34c9 - category: company_setup.missing_mandatory_sick_time_policy - title: Set up a sick time off policy - message: At least one company work location requires businesses to provide a sick time off policy. - actionable: true - can_block_payroll: false - published_at: '2025-06-09T13:42:59.000-07:00' - due_at: - status: open - resources: [] - template_variables: {} - - uuid: 2edd148b-c4c3-4cda-b3e1-72b87399e6c8 - company_uuid: 46c8329d-ebd1-49ba-878c-810b481a34c9 - category: bank_error.compensation_credit_failure - title: Unable to deposit funds to Donn Cormier - message: We were unable to deposit a recent paycheck to Donn’s bank account, so these funds of $100.00 will be returned to Luettgen-Gusikowski’s bank account. Once the funds are received, the payment should be made directly to Donn. - actionable: true - can_block_payroll: false - published_at: '2025-06-09T13:43:00.000-07:00' - due_at: - status: open - resources: - - entity_type: Employee - entity_uuid: 66a27bb8-be5b-42e5-82b8-b2d0044a7f9e - template_variables: - beneficiary_name: Donn Cormier - amount: "$100.00" - company_name: Luettgen-Gusikowski - items: - "$ref": "#/components/schemas/Notification" - Contractor-Payment-Details-List: - type: array + - key + - message + properties: + key: + type: string + description: A unique identifier for the payroll blocker reason. For a complete list of blockers and their meanings, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers). + enum: + - company_ownership_required + - contractor_only_company + - eftps_in_error + - geocode_error + - geocode_needed + - invalid_signatory + - missing_addresses + - missing_bank_info + - missing_bank_verification + - missing_employee_setup + - missing_federal_tax_setup + - missing_forms + - missing_industry_selection + - missing_pay_schedule + - missing_signatory + - missing_state_tax_setup + - needs_approval + - needs_onboarding + - pay_schedule_setup_not_complete + - pending_information_request + - pending_payroll_review + - pending_recovery_case + - soft_suspended + - suspended + example: needs_approval + message: + type: string + description: A human-readable message describing the payroll blocker and what action is needed to resolve it. + example: Company needs to be approved to run payroll. x-examples: - success_status: - - contractor_uuid: e3d9487a-4ecb-49a3-b6ff-cf03ba7278b6 - first_name: Yael - last_name: Kuvalis - payment_method: Check - split_by: - splits: - - contractor_uuid: 577b6307-66e9-4926-a769-91f5c8b578aa - first_name: Autumn - last_name: Connelly - payment_method: Direct Deposit - split_by: Percentage - splits: - - bank_account_uuid: 0aca4500-8ba4-48fc-adce-677fe7926b7b - name: Cayman Island Checking - hidden_account_number: XXXX1545 - account_number: - encrypted_account_number: - routing_number: '055003201' - priority: 1 - split_amount: 100 - account_type: Checking - items: - type: object - properties: - contractor_uuid: - type: string - payment_method: - type: string - enum: - - Direct Deposit - - Check - first_name: - type: string - last_name: - type: string - split_by: - anyOf: - - type: string - enum: - - Amount - - Percentage - - type: 'null' - description: Describes how the payment will be split. If split_by is Percentage, then the split amounts must add up to exactly 100. If split_by is Amount, then the amount represents cents and the last split amount must be `null` to capture the remainder. - splits: - type: - - array - - 'null' - items: - type: object - properties: - bank_account_uuid: - type: string - name: - type: string - hidden_account_number: - type: string - description: An obfuscated version of the account number which can be used for display purposes. - encrypted_account_number: - type: - - string - - 'null' - description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the `contractor_payment_methods:read:account_number` scope. - routing_number: - type: string - priority: - type: integer - description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. - split_amount: - type: - - number - - 'null' - description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). - account_type: - type: string - Contractor-Payment-Group-Partner-Disbursements: + blockers_list: + key: needs_approval + message: Company needs to be approved to run payroll. + empty_blockers_list: [] + Printable-Payroll-Checks-Body: + description: Request body for generating printable payroll checks. type: object - description: Partner disbursements for a contractor payment group - x-examples: - success_status: - contractor_payment_group_uuid: 123e4567-e89b-12d3-a456-426655440000 - disbursements: - - contractor_payment_uuid: 123e4567-e89b-12d3-a456-426655440001 - contractor_uuid: 123e4567-e89b-12d3-a456-426655440002 - payment_method: Check - payment_status: Not partner managed - - contractor_payment_uuid: 123e4567-e89b-12d3-a456-426655440003 - contractor_uuid: 123e4567-e89b-12d3-a456-426655440004 - payment_method: Direct Deposit - payment_status: Pending + required: + - printing_format properties: - contractor_payment_group_uuid: + printing_format: type: string - description: The UUID of the contractor payment group - disbursements: + enum: + - top + - bottom + description: The type of check stock being printed. Check the "Types of check stock" section in this [link](https://support.gusto.com/article/999877761000000/Pay-your-team-by-check) for more info on check types + starting_check_number: + type: integer + description: The starting check number we will start generating checks from. Use to override the sequence that will be used to generate check numbers. + x-tags: + - Payrolls + Payroll-Check: + type: object + properties: + payroll_uuid: + type: string + description: A unique identifier of the payroll. + printing_format: + type: string + description: The format the checks will be printed. + starting_check_number: + type: + - integer + - 'null' + description: The starting check number for the checks being printed. + request_uuid: + type: string + description: A unique identifier of the Generated Document request + status: + type: string + description: Current status of the Generated Document + employee_check_number_mapping: type: array - description: List of disbursements for the contractor payment group + description: An array of mapping employee uuids to their check numbers items: type: object properties: - contractor_payment_uuid: - type: string - description: The UUID of the contractor payment - contractor_uuid: - type: string - description: The UUID of the contractor - payment_method: - type: string - description: The payment method for the disbursement - enum: - - Direct Deposit - - Check - payment_status: + employee_uuid: type: string - description: The status of the payment - enum: - - Pending - - Paid - - Not partner managed - - Converted to check - Payroll-Partner-Disbursements: + description: The UUID for an employee + check_number: + type: number + description: The check number for the relevant employee + x-examples: + example: + payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 + printing_format: top + starting_check_number: 10 + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + status: pending + employee_check_number_mapping: + - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 + check_number: 10 + Generated-Document: type: object - description: Partner disbursements for a payroll + properties: + request_uuid: + type: string + description: A unique identifier of the Generated Document request + status: + type: string + description: Current status of the Generated Document + enum: + - pending + - started + - succeeded + - failed + document_urls: + type: array + description: The array of urls to access the documents. + items: + type: string x-examples: - success_status: - payroll_uuid: 123e4567-e89b-12d3-a456-426655440000 - disbursements: - - employee_uuid: 123e4567-e89b-12d3-a456-426655440001 - payment_method: Check - payment_status: Not partner managed - - employee_uuid: 123e4567-e89b-12d3-a456-426655440002 - payment_method: Direct Deposit - payment_status: Pending + Example: + status: succeeded + document_urls: + - https://document.url.com + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + pending: + status: pending + document_urls: [] + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + Report: + type: object properties: - payroll_uuid: + request_uuid: type: string - description: The UUID of the payroll - disbursements: + description: A unique identifier of the report request + status: + type: string + description: Current status of the report, possible values are 'succeeded', 'pending', or 'failed' + report_urls: type: array - description: List of disbursements for the payroll + description: The array of urls to access the report items: - type: object - properties: - employee_uuid: - type: string - description: The UUID of the employee - payment_method: - type: string - description: The payment method for the disbursement - enum: - - Direct Deposit - - Check - payment_status: - type: string - description: The status of the payment - enum: - - Pending - - Paid - - Not partner managed - - Converted to check - Payroll-Update: + type: string + x-examples: + example: + status: succeeded + report_urls: + - https://report.url.com + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + Create-Report: type: object properties: - employee_compensations: + request_uuid: + type: string + description: A unique identifier of the report request + company_uuid: + type: string + description: Company UUID + custom_name: + type: + - string + - 'null' + description: Title of the report + file_type: + type: string + description: File type + x-examples: + example: + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + company_uuid: w83d0ca8-7d41-42a9-834y-7d218ef6cb20 + custom_name: Custom Report + file_type: csv + Report-Template: + type: object + properties: + columns: type: array + description: List of columns recommended items: - type: object - description: '' - properties: - employee_uuid: - type: string - description: The UUID of the employee. - version: - type: string - description: The current version of this employee compensation from the prepared payroll. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - excluded: - type: boolean - description: This employee will be excluded from payroll calculation and will not be paid for the payroll. - payment_method: - type: string - description: The employee's compensation payment method. Invalid values will be ignored. - enum: - - Direct Deposit - - Check - memo: - type: string - description: Custom text that will be printed as a personal note to the employee on a paystub. - fixed_compensations: - type: array - items: - type: object - description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - amount: - type: string - description: The amount of the compensation for the pay period. - job_uuid: - type: string - description: The UUID of the job for the compensation. - hourly_compensations: - type: array - items: - type: object - description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - hours: - type: string - description: The number of hours to be compensated for this pay period. - job_uuid: - type: string - description: The UUIDs of the job for the compensation. - deductions: - type: array - items: - type: object - description: An array of deductions for the employee. - properties: - name: - type: string - description: The name of the deduction. - amount: - type: number - description: The amount of the deduction for the pay period. - amount_type: - type: string - description: The amount type of the deduction for the pay period. - enum: - - fixed - - percent - uuid: - type: string - description: The UUID of the deduction. This parameter is optional and can be provided in order to update an existing deduction. - paid_time_off: - type: array - description: An array of all paid time off the employee is eligible for this pay period. Each paid time off object can be the name or the specific policy_uuid. - items: - type: object - properties: - name: - type: string - description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. Must pass in name or policy_uuid but not both. - hours: - type: string - description: The hours of this PTO taken during the pay period. - policy_uuid: - type: string - description: The uuid of the PTO policy. Must pass in name or policy_uuid but not both. - final_payout_unused_hours_input: - type: - - string - - 'null' - description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. - reimbursements: - type: array - description: An array of reimbursements for the employee. - items: - type: object - properties: - amount: - type: string - description: The dollar amount of the reimbursement for the pay period. - description: - type: string - description: The description of the reimbursement. If not provided, the reimbursement will be unnamed. - uuid: - type: string - description: The UUID of an existing reimbursement. This parameter is optional and can be provided in order to update an existing reimbursement. - withholding_pay_period: - description: The payment schedule tax rate the payroll is based on. Only relevant for off-cycle payrolls. + type: string + groupings: + type: array + description: List of groupings recommended + items: + type: string + company_uuid: type: string - enum: - - Every week - - Every other week - - Twice per month - - Monthly - - Quarterly - - Semiannually - - Annually - skip_regular_deductions: - description: Block regular deductions and contributions for this payroll. Only relevant for off-cycle payrolls. - type: boolean - fixed_withholding_rate: - description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only relevant for off-cycle payrolls. - type: boolean - required: - - employee_compensations - Show-Employees: - type: array - items: - allOf: - - "$ref": "#/components/schemas/Employee" - - type: object - additionalProperties: true - properties: - current_home_address: - "$ref": "#/components/schemas/Employee-Home-Address" - all_home_addresses: - type: array - items: - "$ref": "#/components/schemas/Employee-Home-Address" - member_portal_invitation_status: - type: - - object - - 'null' - description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. - properties: - status: - type: string - description: The current status of the member portal invitation. - enum: - - pending - - sent - - verified - - complete - - cancelled - token_expired: - type: - - boolean - - 'null' - description: Whether the invitation token has expired. - welcome_email_sent_at: - type: - - string - - 'null' - format: date-time - description: The date and time when the welcome email was sent. - last_password_resent_at: - type: - - string - - 'null' - format: date-time - description: The date and time when the password reset was last resent. - partner_portal_invitation_sent: - type: - - boolean - - 'null' - description: Whether an external partner portal invitation webhook has been sent for this employee. Only included when the include param has the portal_invitations value set. + description: Company UUID + report_type: + type: string + description: Type of report template x-examples: - success_status: - - uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 - first_name: Boaty - middle_initial: - last_name: Koss - email: keena.feest@kiehn.co.uk - company_uuid: e904cc79-818a-4da8-9d37-0be0a86fdda8 - manager_uuid: - version: a5cec1f1c0135feb3e76ca6ea3c46176 - current_employment_status: full_time - onboarding_status: onboarding_completed - preferred_first_name: - department_uuid: - employee_code: 46f036 - payment_method: Direct Deposit - department: - terminated: false - two_percent_shareholder: false - onboarded: true - historical: false - has_ssn: true - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f - version: 863bcd01c51fcfa2468d604cffec7413 - employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 - current_compensation_uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 - payment_unit: Year - primary: true - two_percent_shareholder: false - state_wc_covered: - state_wc_class_code: - title: '' - compensations: - - uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 - employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 - version: db7bfb49a4f0893432cb562311bfcad9 - payment_unit: Year - flsa_status: Exempt - adjust_for_minimum_wage: false - minimum_wages: [] - job_uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f - effective_date: '2025-06-09' - rate: '80000.00' - rate: '80000.00' - hire_date: '2024-06-09' - eligible_paid_time_off: [] - terminations: [] - garnishments: [] - date_of_birth: '2005-06-09' - ssn: '' - phone: - work_email: - current_home_address: - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - uiud: sample-uuid-123231 - all_home_addresses: - - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - uiud: sample-uuid-123231 - - street_1: 123 Example Rd - street_2: - city: Example City - state: EX - zip: '12345' - country: USA - active: false - uiud: another-sample-uuid-456789 - member_portal_invitation_status: - status: sent - token_expired: false - welcome_email_sent_at: '2024-01-15T14:30:00Z' - last_password_resent_at: - partner_portal_invitation_sent: true - Payroll-Partner-Owned-Disbursement-Type: - type: - - boolean - - 'null' - description: Will money movement for the payroll be performed by the partner rather than by Gusto? - Payroll-Employee-Compensations-Included: + example: + columns: + - regular_rate + - regular_hours + - regular_earnings + groupings: + - payroll + - employee + company_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + report_type: payroll_journal + Create-Report-Body: + description: Request body for creating a custom report. type: object - additionalProperties: true + required: + - columns + - groupings + - file_type properties: - taxes: + columns: + type: array + description: Columns to include in the report + items: + type: string + enum: + - bank_account_account_number + - bank_account_routing_number + - bank_account_type + - bank_account + - bonus + - cash_tips + - check_amount + - check_date + - commission + - date_of_birth + - double_overtime_earnings + - double_overtime_hours + - double_overtime_rate + - employee_additional_taxes + - employee_benefit_contributions + - employee_compensation_time_period + - employee_compensation + - employee_deductions + - employee_department + - employee_email + - employee_donations + - employee_federal_income_tax + - employee_first_name + - employee_last_name + - employee_middle_initial + - employee_medicare_additional_tax + - employee_medicare_tax + - employee_phone_number + - employee_social_security_tax + - employee_taxes + - employee_uuid + - employee_work_email + - employer_additional_taxes + - employer_benefit_contributions + - employer_cost + - employer_futa_tax + - employer_medicare_tax + - employer_social_security_tax + - employer_suta_tax + - employer_taxes + - employment_type + - employment + - end_date + - garnishments + - gross_earnings + - holiday_earnings + - holiday_hours + - home_address_city + - home_address_state + - home_address_street + - home_address_zip + - home_address + - job_title + - net_pay + - one_time_reimbursements + - overtime_earnings + - overtime_hours + - overtime_rate + - paid_time_off_earnings + - paid_time_off_hours + - paid_time_off_rate + - pay_period_end + - pay_period_start + - paycheck_tips + - payment_method + - payroll_type + - payroll_uuid + - preferred_first_name + - recurring_reimbursements + - regular_earnings + - regular_hours + - regular_rate + - reimbursements + - risk_class_code + - sick_rate + - sick_time_off_earnings + - sick_time_off_hours + - start_date + - total_employer_benefit_contributions + - total_time_off_earnings + - total_time_off_hours + - work_address_city + - work_address_street + - work_address_zip + groupings: type: array - uniqueItems: false - description: An array of employer and employee taxes for the pay period. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. + description: How to group the report items: - type: object - properties: - name: - type: string - minLength: 1 - employer: - type: boolean - amount: - type: number - minLength: 1 - required: - - name - - employer - - amount - readOnly: true - readOnly: true - benefits: + type: string + enum: + - payroll + - employee + - work_address + - work_address_state + custom_name: + type: string + description: The title of the report + file_type: + type: string + description: The type of file to generate + enum: + - csv + - json + - pdf + with_totals: + type: boolean + description: Whether to include subtotals and grand totals in the report + default: false + start_date: + type: string + format: date + description: Start date of data to filter by + example: '2024-01-01' + end_date: + type: string + format: date + description: End date of data to filter by + example: '2024-04-01' + dismissed_start_date: + type: string + format: date + description: Dismissed start date of employees to filter by + example: '2024-01-01' + dismissed_end_date: + type: string + format: date + description: Dismissed end date of employees to filter by + example: '2024-04-01' + payment_method: + type: string + description: Payment method to filter by + enum: + - check + - direct_deposit + employment_type: + type: string + description: Employee employment type to filter by + enum: + - exempt + - salaried_nonexempt + - nonexempt + - commission_only_exempt + - commission_only_nonexempt + employment_status: + type: string + description: Employee employment status to filter by + enum: + - active_full_time + - active_part_time + - active_part_time_eligible + - active_variable + - active_seasonal + - active + - dismissed + employee_uuids: + type: + - array + - 'null' + description: Employees to filter by + items: + type: string + department_uuids: type: array - uniqueItems: false - description: An array of employee benefits for the pay period. Benefits are only included for processed payroll when the include parameter is present. + description: Departments to filter by items: - type: object - properties: - name: - type: string - readOnly: true - employee_deduction: - type: number - readOnly: true - company_contribution: - type: number - readOnly: true - imputed: - type: boolean - readOnly: true - readOnly: true - deductions: + type: string + work_address_uuids: type: array - uniqueItems: false - description: An array of employee deductions for the pay period. Only included when `deductions` is present in the `include` parameter. + description: Work addresses to filter by items: - type: object - properties: - name: - type: string - description: The name of the deduction. - amount: - type: number - description: The amount of the deduction for the pay period. - amount_type: - type: string - description: The amount type of the deduction for the pay period. Only present for unprocessed payrolls. - enum: - - fixed - - percent - uuid: - type: string - description: The UUID of the deduction. Only present for unprocessed payrolls. - readOnly: true - updatable_via_payroll: - type: boolean - description: Whether the deduction can be updated via the payroll update endpoint. Only present for unprocessed payrolls. - readOnly: true - Payroll-Show: + type: string + x-tags: + - Reports + General-Ledger-Report-Body: + description: Request body for generating a general ledger report. The report can be aggregated by different dimensions such as job or department. + type: object + required: + - aggregation + properties: + aggregation: + type: string + enum: + - default + - job + - department + - integration + description: The breakdown of the report. Use 'default' for no split. + integration_type: + description: The kind of integration set up for the company. Required when `aggregation` is 'integration'. Must be null if `aggregation` is not 'integration'. + anyOf: + - type: string + enum: + - xero + - qbo + - type: 'null' + x-tags: + - Reports + General-Ledger-Report: + type: object + description: A request for a general ledger report. The report is generated asynchronously and the URL is available via the report GET endpoint using the returned `request_uuid`. + properties: + payroll_uuid: + type: string + format: uuid + description: The UUID of the payroll record for which the report was generated. + aggregation: + type: string + enum: + - default + - job + - department + - integration + description: The breakdown level used for the report. + integration_type: + type: + - string + - 'null' + description: The `integration_type` used for the report when `aggregation` is 'integration' (e.g., `xero`, `qbo`). Otherwise, this will be null or an empty string. + request_uuid: + type: string + format: uuid + description: UUID to use for polling the report status. + x-examples: + example: + payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 + aggregation: integration + integration_type: xero + request_uuid: 550e8400-e29b-41d4-a716-446655440000 + Payroll-Reversal: type: object + properties: + reversed_payroll_uuid: + type: string + description: The UUID for the payroll run being reversed. + reversal_payroll_uuid: + type: + - string + - 'null' + description: The UUID of the payroll where the reversal was applied. + reason: + type: string + description: A reason provided by the admin who created the reversal. + approved_at: + type: + - string + - 'null' + description: Timestamp of when the reversal was approved. + category: + type: + - string + - 'null' + description: Category chosen by the admin who requested the reversal. + reversed_employee_uuids: + type: array + description: Array of affected employee UUIDs. + items: + type: string + x-examples: + Example: + reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' + reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' + reason: Customer Request + approved_at: + category: convert_check_ee_requested + reversed_employee_uuids: + - 5f036964-185e-4c85-bbf2-3873e1203b30 + Payroll-Reversal-List: + type: array + items: + "$ref": "#/components/schemas/Payroll-Reversal" x-examples: - success_status: - uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - employee_compensations: [] - submission_blockers: [] - credit_blockers: [] - payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - company_uuid: 9aa93530-43d5-484e-b608-33214109420d - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-16' - calculated_at: '2025-06-16T16:58:03Z' - pay_period: - start_date: '2025-05-25' - end_date: '2025-06-09' - pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 - check_date: '2025-06-13' - external: false - payroll_deadline: '2025-06-17T23:00:00Z' - totals: - employee_bonuses: '0.00' - employee_commissions: '0.00' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - benefits: '0.00' - check_amount: '0.00' - child_support_debit: '0.00' - company_debit: '0.00' - deferred_payroll_taxes: '0.00' - employee_benefits_deductions: '0.00' - employee_taxes: '0.00' - employer_taxes: '0.00' - gross_pay: '0.00' - imputed_pay: '0.00' - net_pay: '0.00' - net_pay_debit: '0.00' - other_deductions: '0.00' - reimbursement_debit: '0.00' - reimbursements: '0.00' - tax_debit: '0.00' - processing_request: - status: submit_success - errors: [] - created_at: '2025-06-16T16:58:03Z' - partner_owned_disbursement: - with_submit_wire_credit_blocker: - uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - employee_compensations: [] - submission_blockers: [] - credit_blockers: - - blocker_type: waiting_for_wire_in - blocker_name: Waiting for Wire In - unblock_options: - - unblock_type: submit_wire - check_date: '2025-06-13' - metadata: - wire_in_amount: '15000.00' - wire_in_deadline: '2025-06-12T18:00:00Z' - wire_in_request_uuid: c1234567-89ab-cdef-0123-456789abcdef - selected_option: - status: unresolved - payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - company_uuid: 9aa93530-43d5-484e-b608-33214109420d - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-16' - calculated_at: '2025-06-16T16:58:03Z' - pay_period: - start_date: '2025-05-25' - end_date: '2025-06-09' - pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 - check_date: '2025-06-13' - external: false - payroll_deadline: '2025-06-17T23:00:00Z' - totals: - employee_bonuses: '0.00' - employee_commissions: '0.00' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - benefits: '0.00' - check_amount: '0.00' - child_support_debit: '0.00' - company_debit: '0.00' - deferred_payroll_taxes: '0.00' - employee_benefits_deductions: '0.00' - employee_taxes: '0.00' - employer_taxes: '0.00' - gross_pay: '0.00' - imputed_pay: '0.00' - net_pay: '0.00' - net_pay_debit: '0.00' - other_deductions: '0.00' - reimbursement_debit: '0.00' - reimbursements: '0.00' - tax_debit: '0.00' - processing_request: - status: submit_success - errors: [] - created_at: '2025-06-16T16:58:03Z' - partner_owned_disbursement: - with_submit_bank_screenshot_credit_blocker: - uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - employee_compensations: [] - submission_blockers: [] - credit_blockers: - - blocker_type: waiting_for_bank_screenshot - blocker_name: Waiting for Bank Screenshot - unblock_options: - - unblock_type: submit_bank_screenshot - check_date: '2025-06-13' - metadata: - information_request_uuid: d2234567-89ab-cdef-0123-456789abcdef - selected_option: - status: unresolved - payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - company_uuid: 9aa93530-43d5-484e-b608-33214109420d - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-16' - calculated_at: '2025-06-16T16:58:03Z' - pay_period: - start_date: '2025-05-25' - end_date: '2025-06-09' - pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 - check_date: '2025-06-13' - external: false - payroll_deadline: '2025-06-17T23:00:00Z' - totals: - employee_bonuses: '0.00' - employee_commissions: '0.00' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - benefits: '0.00' - check_amount: '0.00' - child_support_debit: '0.00' - company_debit: '0.00' - deferred_payroll_taxes: '0.00' - employee_benefits_deductions: '0.00' - employee_taxes: '0.00' - employer_taxes: '0.00' - gross_pay: '0.00' - imputed_pay: '0.00' - net_pay: '0.00' - net_pay_debit: '0.00' - other_deductions: '0.00' - reimbursement_debit: '0.00' - reimbursements: '0.00' - tax_debit: '0.00' - processing_request: - status: submit_success - errors: [] - created_at: '2025-06-16T16:58:03Z' - partner_owned_disbursement: - with_respond_to_high_risk_fraud_rfi_credit_blocker: - uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - employee_compensations: [] - submission_blockers: [] - credit_blockers: - - blocker_type: waiting_for_high_risk_fraud_rfi - blocker_name: Waiting for High Risk Fraud RFI - unblock_options: - - unblock_type: respond_to_high_risk_fraud_rfi - check_date: '2025-06-13' - metadata: - information_request_uuid: e3234567-89ab-cdef-0123-456789abcdef - selected_option: - status: pending_review - payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - company_uuid: 9aa93530-43d5-484e-b608-33214109420d - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-16' - calculated_at: '2025-06-16T16:58:03Z' - pay_period: - start_date: '2025-05-25' - end_date: '2025-06-09' - pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 - check_date: '2025-06-13' - external: false - payroll_deadline: '2025-06-17T23:00:00Z' - totals: - employee_bonuses: '0.00' - employee_commissions: '0.00' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - benefits: '0.00' - check_amount: '0.00' - child_support_debit: '0.00' - company_debit: '0.00' - deferred_payroll_taxes: '0.00' - employee_benefits_deductions: '0.00' - employee_taxes: '0.00' - employer_taxes: '0.00' - gross_pay: '0.00' - imputed_pay: '0.00' - net_pay: '0.00' - net_pay_debit: '0.00' - other_deductions: '0.00' - reimbursement_debit: '0.00' - reimbursements: '0.00' - tax_debit: '0.00' - processing_request: - status: submit_success - errors: [] - created_at: '2025-06-16T16:58:03Z' - partner_owned_disbursement: - with_wait_for_reverse_wire_credit_blocker: - uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - employee_compensations: [] - submission_blockers: [] - credit_blockers: - - blocker_type: waiting_for_reverse_wire - blocker_name: Waiting for Reverse Wire - unblock_options: - - unblock_type: wait_for_reverse_wire - check_date: '2025-06-13' - metadata: - reverse_wire_detail_id: 12345 - bank_account_last_four_digits: '1234' - selected_option: - status: resolved - payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 - company_uuid: 9aa93530-43d5-484e-b608-33214109420d - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-16' - calculated_at: '2025-06-16T16:58:03Z' - pay_period: - start_date: '2025-05-25' - end_date: '2025-06-09' - pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 - check_date: '2025-06-13' - external: false - payroll_deadline: '2025-06-17T23:00:00Z' + Example: + - reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' + reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' + reason: Customer Request + approved_at: + category: convert_check_ee_requested + reversed_employee_uuids: + - 5f036964-185e-4c85-bbf2-3873e1203b30 + Gross-Up-Pay: + type: object + properties: + gross_up: + type: string + format: float + description: Gross up earnings. + Contractor-Payment-Receipt: + type: object + x-examples: + example: + contractor_payment_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 + company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 + name_of_sender: Torp and Sons and Sons + name_of_recipient: Patricia Hamill + debit_date: '2022-06-02' totals: - employee_bonuses: '0.00' - employee_commissions: '0.00' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - benefits: '0.00' - check_amount: '0.00' - child_support_debit: '0.00' - company_debit: '0.00' - deferred_payroll_taxes: '0.00' - employee_benefits_deductions: '0.00' - employee_taxes: '0.00' - employer_taxes: '0.00' - gross_pay: '0.00' - imputed_pay: '0.00' - net_pay: '0.00' - net_pay_debit: '0.00' - other_deductions: '0.00' - reimbursement_debit: '0.00' - reimbursements: '0.00' - tax_debit: '0.00' - processing_request: - status: submit_success - errors: [] - created_at: '2025-06-16T16:58:03Z' - partner_owned_disbursement: + company_debit: '748.34' + contractor_payments: + - contractor_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 + contractor_first_name: Patricia + contractor_last_name: Hamill + contractor_business_name: '' + contractor_type: Individual + payment_method: Direct Deposit + wage: '448.34' + bonus: '248.00' + reimbursement: '100.00' + licensee: + name: Gusto, Zenpayroll Inc. + address: 525 20th St + city: San Francisco + state: CA + postal_code: '94107' + phone_number: '4157778888' + license: Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page. + license_uri: https://gusto.com/about/licenses + right_to_refund: https://gusto.com/about/licenses + liability_of_licensee: https://gusto.com/about/licenses properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + contractor_payment_uuid: + type: string + description: A unique identifier of the contractor payment receipt. company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + type: string + description: A unique identifier of the company making the contractor payment. + name_of_sender: + type: string + description: The name of the company making the contractor payment. + name_of_recipient: + type: string + description: The individual or company name of the contractor receiving payment. + debit_date: + type: string + description: The debit date for the contractor payment. + format: date + example: '2022-05-30' + license: + type: string + description: Always the fixed string "Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page." + license_uri: + type: string + description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" + right_to_refund: + type: string + description: URL for information related to right to refund. Always the fixed string "https://gusto.com/about/licenses" + liability_of_licensee: + type: string + description: URL for information related to right to liability of licensee. Always the fixed string "https://gusto.com/about/licenses" totals: - "$ref": "#/components/schemas/Payroll-Totals-Type" - company_taxes: - "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" - payroll_taxes: - "$ref": "#/components/schemas/Payroll-Taxes-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - submission_blockers: - "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" - credit_blockers: - "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" - processing_request: - "$ref": "#/components/schemas/Payroll-Processing-Request" - partner_owned_disbursement: - "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" - employee_compensations: + type: object + description: The subtotals for the contractor payment. + properties: + company_debit: + type: string + description: The total company debit for the contractor payment. + contractor_payments: + type: array + description: An array of contractor payments for this contractor payment. + items: + type: object + properties: + contractor_uuid: + type: string + description: The UUID of the contractor. + contractor_first_name: + type: string + description: The first name of the contractor. Applies when `contractor_type` is `Individual`. + contractor_last_name: + type: string + description: The last name of the contractor. Applies when `contractor_type` is `Individual`. + contractor_business_name: + type: string + description: The business name of the contractor. Applies when `contractor_type` is `Business`. + contractor_type: + type: string + description: |- + The type of contractor. + + `Individual` `Business` + payment_method: + type: string + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + wage: + type: string + description: The fixed wage of the payment, regardless of hours worked. + bonus: + type: string + description: The bonus amount in the payment. + reimbursement: + type: string + description: The reimbursement amount in the payment. + licensee: + type: object + description: The licensed payroll processor + properties: + name: + type: string + description: Always the fixed string "Gusto, Zenpayroll Inc." + address: + type: string + description: Always the fixed string "525 20th St" + city: + type: string + description: Always the fixed string "San Francisco" + state: + type: string + description: Always the fixed string "CA" + postal_code: + type: string + description: Always the fixed string "94107" + phone_number: + type: string + description: Always the fixed string "4157778888" + Company-Custom-Field: + type: object + description: A custom field on a company + x-tags: + - Custom Fields + properties: + uuid: + type: string + description: UUID of the company custom field + name: + type: string + description: Name of the company custom field + type: + "$ref": "#/components/schemas/Custom-Field-Type" + description: + type: + - string + - 'null' + description: Description of the company custom field + selection_options: + type: + - array + - 'null' + description: An array of options for fields of type radio. Otherwise, null. + items: + type: string + required: + - uuid + - name + - type + Company-Custom-Field-List: + type: object + x-examples: + success_status: + custom_fields: + - uuid: ea7e5d57-6abb-47d7-b654-347c142886c0 + name: employee_level + description: Employee Level + type: text + selection_options: + - uuid: 024ec137-6c92-43a3-b061-14a9720531d6 + name: favorite fruit + description: Which is your favorite fruit? + type: radio + selection_options: + - apple + - banana + - orange + properties: + custom_fields: type: array - uniqueItems: false items: - type: object - allOf: - - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" - - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Included" - Company-Bank-Account-Request: + "$ref": "#/components/schemas/Company-Custom-Field" + Rehire: type: object properties: - routing_number: + version: type: string - description: The bank routing number - account_number: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + effective_date: type: string - description: The bank account number - account_type: + description: The day when the employee returns to work. + file_new_hire_report: + type: boolean + description: The boolean flag indicating whether Gusto will file a new hire report for the employee. + work_location_uuid: type: string - description: The bank account type + description: The uuid of the employee's work location. + employment_status: + type: string + description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. enum: - - Checking - - Savings - required: - - routing_number - - account_number - - account_type - Company-Suspension-List: - type: array - description: List of suspension records for a company. - items: - "$ref": "#/components/schemas/Company-Suspension" + - part_time + - full_time + - part_time_eligible + - variable + - seasonal + - not_set + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + active: + type: boolean + description: Whether the employee's rehire has gone into effect. + readOnly: true x-examples: - success_status: - - uuid: 3bd0fa7c-071e-4e85-a6bf-f73a69797694 - company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be - effective_date: '2025-07-23' - reason: shutting_down - leaving_for: - reconcile_tax_method: refund_taxes - file_yearly_forms: false - file_quarterly_forms: false - comments: - tax_refunds: [] - - uuid: 2ad79a4e-2fbd-43ca-a77b-e9049e6cab15 - company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be - effective_date: '2025-07-23' - reason: switching_provider - leaving_for: adp - reconcile_tax_method: refund_taxes - file_yearly_forms: false - file_quarterly_forms: false - comments: Company is transitioning to ADP for their payroll and HR needs - tax_refunds: [] - Company-Suspension-Creation-Errors: + example: + version: 2e930d43acbdb241f8f14a2d531fa417 + employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 + active: false + effective_date: '2024-06-30' + employment_status: seasonal + file_new_hire_report: false + work_location_uuid: 8cb87e2e-5b30-4c13-a4f4-bfffcbed1188 + two_percent_shareholder: false + active_rehire: + version: 7c930f42bcadb241f8f14a2d531fb528 + employee_uuid: 9d3b1770-c7d0-5be8-a07f-fb257bbg80f9 + active: true + effective_date: '2024-01-15' + employment_status: full_time + file_new_hire_report: true + work_location_uuid: 9dc98f3f-6c41-5d24-a5b5-c363687ebf29 + two_percent_shareholder: false + created: + version: 3a841e52dcbea351f9f25b3e642gb639 + employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 + active: false + effective_date: '2023-06-30' + employment_status: full_time + file_new_hire_report: true + work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 + two_percent_shareholder: false + Rehire-Update-Request-Body: + description: Request body for updating an employee rehire. type: object allOf: - - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Rehire-Body" x-examples: - missing_required_fields: - errors: - - error_key: reconcile_tax_method - category: invalid_attribute_value - message: Reconcile tax method is required - - error_key: reason - category: invalid_attribute_value - message: Reason is required - - error_key: file_yearly_forms - category: invalid_attribute_value - message: File yearly forms is required - gusto_com_requires_support: - errors: - - error_key: leaving_for - category: invalid_attribute_value - message: Switching to Gusto.com must be processed by our Customer Support team - leaving_for_required: - errors: - - error_key: leaving_for - category: invalid_attribute_value - message: Leaving for is required when switching providers - switching_provider_cannot_pay_taxes: - errors: - - error_key: reconcile_tax_method - category: invalid_attribute_value - message: Reconcile tax method must be refund_taxes when switching to a new payroll provider - pay_taxes_requires_quarterly_filing: - errors: - - error_key: file_quarterly_forms - category: invalid_attribute_value - message: File quarterly forms must be true when paying withheld taxes - Time-Off-Request: + update_rehire: + version: 1928d0c378e519e9c03fb959bc959a6b + effective_date: '2023-06-30' + work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 + file_new_hire_report: true + Salary-Estimate: + type: object + description: A salary estimate calculation for an S-Corp owner based on occupation, experience level, location, and business revenue. + properties: + uuid: + type: string + description: The UUID of the salary estimate. + readOnly: true + employee_uuid: + type: + - string + - 'null' + description: The UUID of the employee this salary estimate is for. + readOnly: true + employee_job_uuid: + type: + - string + - 'null' + description: The UUID of the employee job this salary estimate is associated with (once accepted). + readOnly: true + annual_net_revenue: + type: + - string + - 'null' + description: The annual net revenue of the business used for salary calculations. + zip_code: + type: + - string + - 'null' + description: The ZIP code used for location-based salary calculations. + pattern: "^\\d{5}$" + result: + type: + - integer + - 'null' + description: The calculated reasonable salary estimate in cents. Null if not yet calculated. + readOnly: true + accepted_at: + type: + - string + - 'null' + format: date-time + description: The timestamp when this salary estimate was accepted and finalized. + readOnly: true + created_at: + type: string + format: date-time + description: The timestamp when this salary estimate was created. + readOnly: true + updated_at: + type: string + format: date-time + description: The timestamp when this salary estimate was last updated. + readOnly: true + occupations: + type: array + description: Array of occupations with their experience levels and time allocations. + items: + type: object + properties: + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code. + name: + type: string + description: Occupation name. + description: + type: string + description: Occupation description. + experience_level: + type: string + description: Experience level for this occupation. + enum: + - novice + - intermediate + - average + - skilled + - expert + time_percentage: + type: string + description: Percentage of time spent in this occupation (as decimal string, 0-1). + primary: + type: boolean + description: Whether this is the primary occupation. + required: + - code + - experience_level + - time_percentage + required: + - uuid + - employee_uuid + - annual_net_revenue + - zip_code + - created_at + - updated_at + - occupations + x-examples: + success_status: + uuid: 7f5d3d93-6d6f-48c0-9f4e-cd12c2d3e4b2 + employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 + employee_job_uuid: + annual_net_revenue: '500000' + zip_code: '94107' + result: 12000000 + accepted_at: + created_at: '2025-01-15T10:30:00.000-08:00' + updated_at: '2025-01-15T10:30:00.000-08:00' + occupations: + - code: 15-1252 + name: Software Developers, Systems Software + description: Research, design, develop, and test operating systems-level software. + experience_level: skilled + time_percentage: '1.0' + primary: true + BLS-Occupation: type: object - description: The representation of a time off request. - x-examples: - success_status: - uuid: 9145390f-0431-45ee-b8a0-6e7a8850d4cf - status: approved - employee_note: Vacation at Disney World! - employer_note: But Universal has Harry Potter World... - days: - '2019-06-01': '4.000' - '2019-06-02': '8.000' - '2019-06-03': '2.000' - request_type: vacation - policy_type: vacation - policy_uuid: ae382963-06b2-4b57-9780-8feda862bb70 - employee: - uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 - full_name: Jessica Gusto - approver: - uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 - full_name: Karen Gusto - initiator: - uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 - full_name: Jessica Gusto + description: A Bureau of Labor Statistics occupation code with its title and description, used for salary estimate calculations. properties: - uuid: - type: string - description: The UUID of the time off request. - readOnly: true - status: + code: type: string - description: The status of the time off request. - enum: - - pending - - approved - - declined - - consumed - readOnly: true - employee_note: + description: Bureau of Labor Statistics (BLS) occupation code. + example: 15-1252 + title: type: string - description: A note about the time off request, from the employee to the employer. - readOnly: true - employer_note: + description: Occupation title. + example: Software Developers + description: type: string - description: A note about the time off request, from the employer to the employee. - readOnly: true - request_type: + description: Occupation description. + example: Research, design, and develop computer and network software or specialized utility programs. + required: + - code + - title + x-examples: + success_status: + code: 15-1252 + title: Software Developers + description: Research, design, and develop computer and network software or specialized utility programs. + Signatory: + description: The representation of a company's signatory + type: object + title: Signatory + x-tags: + - Signatories + properties: + uuid: type: string - description: The type of time off request. - deprecated: true - enum: - - vacation - - sick - readOnly: true - policy_type: + first_name: + type: + - string + - 'null' + last_name: + type: + - string + - 'null' + title: + type: + - string + - 'null' + phone: + type: + - string + - 'null' + email: type: string - description: The type of the time off policy (e.g. vacation, sick). - readOnly: true - policy_uuid: + birthday: type: - string - 'null' - description: The UUID of the time off policy associated with this request. - readOnly: true - days: - description: An object that represents the days in the time off request. The keys of the object are the dates, formatted as a YYYY-MM-DD string. The values of the object are the number of hours requested off for each day, formatted as a string representation of a numeric decimal to the thousands place. - type: object - readOnly: true - employee: - type: object - description: '' - properties: - uuid: - type: string - description: The UUID of the employee the time off request is for. - readOnly: true - full_name: - type: string - description: The full name of the employee the time off request is for. - readOnly: true - readOnly: true - initiator: + is_admin: + type: boolean + description: Whether or not the signatory is also the payroll admin of the company. + has_ssn: + type: boolean + description: Indicates whether the signatory has an SSN in Gusto. + version: + type: string + description: The current version of the signatory. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + identity_verification_status: + anyOf: + - type: string + enum: + - Pass + - Fail + - Skipped + - type: 'null' + description: |- + | | | + |---|---| + |__Status__| __Description__ | + | Pass | Signatory can sign all forms | + | Fail | Signatory cannot sign forms | + | Skipped | Signatory cannot sign Form 8655 until the form is manually uploaded as wet-signed | + | null | Identity verification process has not been completed | + home_address: type: - object - 'null' - description: '' properties: - uuid: + street_1: type: string - description: The UUID of the employee who initiated the time off request. - readOnly: true - full_name: + street_2: type: string - description: The full name of the employee who initiated the time off request. - readOnly: true - readOnly: true - approver: - type: - - object - - 'null' - description: This value will be null if the request has not been approved. - properties: - uuid: + city: type: string - description: The UUID of the employee who approved the time off request. - readOnly: true - full_name: + state: type: string - description: The full name of the employee who approved the time off request. - readOnly: true - readOnly: true - Time-Off-Request-List: - type: array - items: - "$ref": "#/components/schemas/Time-Off-Request" - x-examples: - success_status: - - uuid: 9145390f-0431-45ee-b8a0-6e7a8850d4cf - status: approved - employee_note: Vacation at Disney World! - employer_note: But Universal has Harry Potter World... - days: - '2019-06-01': '4.000' - '2019-06-02': '8.000' - '2019-06-03': '2.000' - request_type: vacation - policy_type: vacation - policy_uuid: ae382963-06b2-4b57-9780-8feda862bb70 - employee: - uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 - full_name: Jessica Gusto - approver: - uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 - full_name: Karen Gusto - initiator: - uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 - full_name: Jessica Gusto - - uuid: 944cbbf4-8b13-4c45-babd-11ff13e17581 - status: pending - employee_note: Coming down with the flu - employer_note: '' - days: - '2019-02-01': '8.000' - request_type: sick - policy_type: sick - policy_uuid: bf493c7e-1a2d-4e5f-8c9a-3d7b6e4f2a1c - employee: - uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 - full_name: James Gusto - approver: - initiator: - uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 - full_name: James Gusto - Not-Found-Error-Object: - description: "Not Found \n \nThe requested resource does not exist. Make sure the provided ID/UUID is valid." - type: object + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + default: USA required: - - errors - properties: - errors: - type: array - items: - type: object - required: - - error_key - - category - properties: - error_key: - type: string - description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. - category: - type: string - description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. - message: - type: string - description: Provides details about the error - generally this message can be surfaced to an end user. + - uuid x-examples: - not_found: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - Contractor-Payment-For-Group-Preview: - description: Preview representation of a single contractor payment with nullable uuid. + typical_signatory: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + first_name: Bob + last_name: Jones + title: CEO + phone: '4156051234' + email: bob@example.com + birthday: '1980-08-04' + is_admin: true + has_ssn: true + version: e1bdd845a493c74908f8e15d6114169b + identity_verification_status: Skipped + home_address: + signatory_with_address: + uuid: 8c2e1ef2-7514-5b17-9879-d2ee8e35e38b + first_name: Rachel + last_name: Greene + title: Onboarding specialist + phone: '4155551234' + email: rachel@example.com + birthday: + is_admin: false + has_ssn: false + version: def456 + identity_verification_status: + home_address: + street_1: 525 20th Street + street_2: Apt. 1 + city: San Francisco + state: CA + zip: '94107' + country: USA + Signatory-Invite-Request: type: object + description: Request body for inviting a signatory. properties: - uuid: - type: - - string - - 'null' - description: The unique identifier of the contractor payment in Gusto. - readOnly: true - contractor_uuid: + first_name: type: string - description: The UUID of the contractor. - readOnly: true - bonus: + description: The signatory's first name. + middle_initial: type: string - description: The bonus amount in the payment. - readOnly: true - hours: + last_name: type: string - description: The number of hours worked for the payment. - readOnly: true - payment_method: + description: The signatory's last name. + title: type: string - description: The payment method. - enum: - - Direct Deposit - - Check - - Historical Payment - - Correction Payment - readOnly: true - reimbursement: + description: The signatory's title (e.g. CEO, President). + phone: type: string - description: The reimbursement amount in the payment. - readOnly: true - status: + description: The signatory's phone number. + birthday: type: string - description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. - enum: - - Funded - - Unfunded - hourly_rate: + format: date + description: The signatory's date of birth. + email: type: string - description: The rate per hour worked for the payment. - readOnly: true - may_cancel: - type: boolean - description: Determine if the contractor payment can be cancelled. - readOnly: true - wage: + format: email + description: The signatory's email address. + ssn: type: string - description: The fixed wage of the payment, regardless of hours worked. - readOnly: true - wage_type: + description: The signatory's SSN. Required for create with complete information; not used for invite. + home_address: + type: object + description: The signatory's home address. + properties: + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + default: USA + required: + - first_name + - last_name + - email + x-tags: + - Signatories + Signatory-Create-Request: + type: object + description: Request body for creating a signatory with complete information. All listed required fields must be provided. + properties: + first_name: type: string - description: The wage type for the payment. - enum: - - Hourly - - Fixed - readOnly: true - wage_total: + description: The signatory's first name. + middle_initial: type: string - description: "(hours * hourly_rate) + wage + bonus" - readOnly: true + last_name: + type: string + description: The signatory's last name. + title: + type: string + description: The signatory's title (e.g. CEO, President). + phone: + type: string + description: The signatory's phone number. + birthday: + type: string + format: date + description: The signatory's date of birth. + email: + type: string + format: email + description: The signatory's email address. + ssn: + type: string + description: The signatory's SSN. + home_address: + type: object + description: The signatory's home address. + properties: + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + default: USA + required: + - street_1 + - city + - state + - zip + required: + - first_name + - last_name + - email + - title + - phone + - birthday + - ssn + - home_address x-tags: - - Contractor Payment Groups - Contractor-Payment-Group-Preview: - description: Preview of a contractor payment group + - Signatories + Signatory-Update-Request: type: object + description: Request body for updating a signatory. Email cannot be updated. properties: - uuid: - type: - - string - - 'null' - description: The unique identifier of the contractor payment group. - readOnly: true - company_uuid: + version: type: string - description: The UUID of the company. - readOnly: true - check_date: + description: Current version of the signatory (required for optimistic concurrency). + first_name: type: string - description: The check date of the contractor payment group. - readOnly: true - debit_date: + middle_initial: type: string - description: The debit date of the contractor payment group. - readOnly: true - status: + last_name: type: string - description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. - enum: - - Unfunded - - Funded - readOnly: true - creation_token: - type: - - string - - 'null' - description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. - readOnly: true - partner_owned_disbursement: - type: - - boolean - - 'null' - description: Whether the disbursement is partner owned. - readOnly: true - submission_blockers: - type: array - description: List of submission blockers for the contractor payment group. - readOnly: true - items: - "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" - credit_blockers: - type: array - description: List of credit blockers for the contractor payment group. - readOnly: true - items: - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" - totals: + title: + type: string + phone: + type: string + birthday: + type: string + format: date + ssn: + type: string + description: The signatory's SSN. + home_address: type: object properties: - amount: + street_1: type: string - description: The total amount for the group of contractor payments. - readOnly: true - debit_amount: + street_2: type: string - description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. - readOnly: true - wage_amount: + city: type: string - description: The total wage amount for the group of contractor payments. - readOnly: true - reimbursement_amount: + state: type: string - description: The total reimbursement amount for the group of contractor payments. - readOnly: true - check_amount: + zip: type: string - description: The total check amount for the group of contractor payments. - readOnly: true - readOnly: true - contractor_payments: - type: array - items: - "$ref": "#/components/schemas/Contractor-Payment-For-Group-Preview" - x-examples: - success: - uuid: - company_uuid: 450ddadf-69da-4f37-92e5-8d78b94bffec - check_date: '2025-08-21' - debit_date: '2025-08-19' - status: Unfunded - creation_token: 025e79ac-824d-4d3e-b819-8f265c3edb72 - partner_owned_disbursement: - submission_blockers: [] - credit_blockers: [] - contractor_payments: - - uuid: - contractor_uuid: e894e72b-0aef-4856-9082-9c7826db998d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: true - payment_method: Direct Deposit - reimbursement: '750.0' - status: Unfunded - wage: '10000.0' - wage_type: Fixed - wage_total: '10000.0' - totals: - amount: '10750.00' - debit_amount: '10750.00' - wage_amount: '10000.00' - reimbursement_amount: '750.00' - check_amount: '0.00' - With submission blockers: - uuid: - company_uuid: 450ddadf-69da-4f37-92e5-8d78b94bffec - check_date: '2025-08-21' - debit_date: '2025-08-19' - status: Unfunded - creation_token: 8f3ced95-ccba-4ace-ac5d-03c1080bb768 - partner_owned_disbursement: - submission_blockers: - - blocker_type: fast_ach_threshold_exceeded - blocker_name: Fast ACH Threshold Exceeded - selected_option: - status: unresolved - unblock_options: - - unblock_type: wire_in - check_date: '2025-08-21' - metadata: - wire_in_deadline: '2025-08-21T18:00:00Z' - wire_in_amount: '1000750.0' - - unblock_type: move_to_four_day - check_date: '2025-08-21' - metadata: - debit_date: '2025-08-15' - credit_blockers: [] - contractor_payments: - - uuid: - contractor_uuid: e894e72b-0aef-4856-9082-9c7826db998d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: true - payment_method: Direct Deposit - reimbursement: '750.0' - status: Unfunded - wage: '1000000.0' - wage_type: Fixed - wage_total: '1000000.0' - totals: - amount: '1000750.00' - debit_amount: '1000750.00' - wage_amount: '1000000.00' - reimbursement_amount: '750.00' - check_amount: '0.00' - Webhooks-Health-Check-Status: - description: The representation of a webhooks health check response + x-speakeasy-name-override: zip_code + country: + type: string + required: + - version + x-tags: + - Signatories + Flow: + description: The representation of a flow in Gusto white-label UI. type: object x-examples: success_status: - status: healthy - last_checked_at: '2025-09-08T21:21:38.000Z' + url: https://flows.gusto-demo.com/flows/lO2BHHAMCScPVV9G5WEURW0Im_nP9mGYloQgjUWbenQ + title: Flow + x-tags: + - Flows properties: - status: - type: string - description: Latest health status of the webhooks system - readOnly: true - enum: - - healthy - - unhealthy - - unknown - last_checked_at: + url: type: string - format: date-time - readOnly: true - description: ISO8601 timestamp of the last successful health check with millisecond precision - Contractor-Payment-Group-Base: - description: Base properties for contractor payment groups. + Create-Flow-Request: + description: Request body for creating a flow. type: object + required: + - flow_type properties: - uuid: - type: string - description: The unique identifier of the contractor payment group. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: + flow_type: type: string - description: The check date of the contractor payment group. - readOnly: true - debit_date: + description: The type of flow to generate. Multiple flow types can be combined by separating them with commas (e.g., "add_addresses,add_employees,sign_all_forms"). + example: company_onboarding + entity_uuid: type: string - description: The debit date of the contractor payment group. - readOnly: true - status: + description: UUID of the target entity applicable to the flow. This field is optional for company flows. + entity_type: type: string - description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. + description: The type of target entity applicable to the flow. This field is optional for company flows. enum: - - Unfunded - - Funded - readOnly: true - creation_token: - type: - - string - - 'null' - description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. - readOnly: true - Contractor-Payment-Group-With-Blockers: - description: Contractor payment group with submission and credit blockers, but without individual contractor payments. - type: object - allOf: - - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" - - type: object - properties: - partner_owned_disbursement: - type: - - boolean - - 'null' - description: Whether the disbursement is partner owned. - readOnly: true - submission_blockers: - type: array - description: List of submission blockers for the contractor payment group. - readOnly: true - items: - "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" - credit_blockers: - type: array - description: List of credit blockers for the contractor payment group. - readOnly: true - items: - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" - totals: - type: object - properties: - amount: - type: string - description: The total amount for the group of contractor payments. - readOnly: true - debit_amount: - type: string - description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. - readOnly: true - wage_amount: - type: string - description: The total wage amount for the group of contractor payments. - readOnly: true - reimbursement_amount: - type: string - description: The total reimbursement amount for the group of contractor payments. - readOnly: true - check_amount: - type: string - description: The total check amount for the group of contractor payments. - readOnly: true - readOnly: true - x-examples: - success: - uuid: 94d9698e-9c95-45d6-b66e-d208258666ab - company_uuid: 5f5aaa38-f517-4f56-85e4-afdb83321663 - check_date: '2025-09-22' - debit_date: '2025-09-18' - status: Unfunded - creation_token: 94d9698e-9c95-45d6-b66e-d208258666ab - partner_owned_disbursement: false - submission_blockers: - - blocker_type: fast_ach_threshold_exceeded - blocker_name: Fast ACH Threshold Exceeded - selected_option: wire_in - status: resolved - unblock_options: - - unblock_type: wire_in - check_date: '2025-09-22' - metadata: - wire_in_deadline: '2025-09-22T18:00:00Z' - wire_in_amount: '760000.0' - - unblock_type: move_to_four_day - check_date: '2025-09-22' - metadata: - debit_date: '2025-09-16' - credit_blockers: - - blocker_type: waiting_for_wire_in - blocker_name: Waiting for Wire In - selected_option: submit_wire - status: unresolved - unblock_options: - - unblock_type: submit_wire - check_date: '2025-09-22' - metadata: - wire_in_deadline: '2025-09-22T18:00:00Z' - wire_in_amount: '760000.0' - wire_in_request_uuid: 96ea4784-979a-45aa-9ccb-83be86b6dcea - totals: - amount: '760000.00' - debit_amount: '760000.00' - wage_amount: '10000.00' - reimbursement_amount: '750000.00' - check_amount: '0.00' - x-tags: - - Contractor Payment Groups - Payroll-List: - description: A list of payrolls for a company. - type: array + - Company + - Employee + - Contractor + - Payroll + options: + type: object + description: Optional configuration object that varies based on the flow_type. This can contain arbitrary key-value pairs specific to the flow being generated. + additionalProperties: true x-examples: - success_status: - - uuid: 3601a7a2-0562-4e4c-9559-20886658daac - payroll_uuid: 3601a7a2-0562-4e4c-9559-20886658daac - company_uuid: b43e6012-bf6c-4752-b67b-5c8000595e0e - payroll_status_meta: - cancellable: false - expected_check_date: '2025-06-08' - initial_check_date: '2025-06-27' - expected_debit_time: '2025-06-12T23:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2025-06-12T23:00:00Z' - off_cycle: false - auto_pilot: false - processed: true - processed_date: '2025-06-11' - calculated_at: '2025-06-11T19:40:51Z' - pay_period: - start_date: '2025-05-20' - end_date: '2025-06-04' - pay_schedule_uuid: ded21d08-02d6-41cb-b211-8d8ca02f1c6a - check_date: '2025-06-08' - external: false - payroll_deadline: '2025-06-12T23:00:00Z' - company_taxes: [] - created_at: '2025-06-11T19:40:51Z' - partner_owned_disbursement: - items: - "$ref": "#/components/schemas/Payroll" - Payroll-Taxes-Type: - type: array - uniqueItems: false - description: An array of tax totals applicable to this payroll. Only included for processed or calculated payrolls when `payroll_taxes` is present in the `include` parameter. - items: - type: object - properties: - name: - type: string - description: The tax name - employer: - type: boolean - description: Whether this tax is an employer or employee tax - amount: - type: number - description: The total tax for the payroll - Salary-Estimate: + example: + flow_type: company_onboarding + with_entity: + flow_type: employee_form_signing + entity_uuid: 1b71bb5b-4811-46e9-8a8a-cf5521cbeda6 + entity_type: Employee + with_options: + flow_type: company_retirement_benefits + options: + provider: guideline + Unprocessed-Termination-Pay-Period: + description: The representation of an unprocessed termination pay period. type: object - description: A salary estimate calculation for an S-Corp owner based on occupation, experience level, location, and business revenue. properties: - uuid: + start_date: type: string - description: The UUID of the salary estimate. + description: The start date of the pay period. + readOnly: true + end_date: + type: string + description: The end date of the pay period. + check_date: + type: string + description: The check date of the pay period. readOnly: true + debit_date: + type: string + description: The debit date of the pay period. + employee_name: + type: string + description: The full name of the employee. employee_uuid: - type: - - string - - 'null' - description: The UUID of the employee this salary estimate is for. + type: string + description: A unique identifier of the employee. + pay_schedule_uuid: + type: string + description: A unique identifier of the pay schedule to which the pay period belongs. + x-examples: + typical_unprocessed_termination_pay_period: + start_date: '2023-01-11' + end_date: '2023-01-24' + check_date: '2023-01-28' + debit_date: '2023-01-26' + employee_name: Mary Warner + employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' + pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 + x-tags: + - Employee Employments + Pay-Schedule-Assignment: + description: The representation of a pay schedule assignment. + type: object + x-examples: + example: + type: by_employee + employees: + - employee_uuid: f0238368-f2cf-43e2-9a07-b0265f2cec69 + pay_schedule_uuid: c277ac52-9871-4a96-a1e6-0c449684602a + properties: + type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. readOnly: true - employee_job_uuid: + hourly_pay_schedule_uuid: type: - string - 'null' - description: The UUID of the employee job this salary estimate is associated with (once accepted). + description: Pay schedule for hourly employees. readOnly: true - annual_net_revenue: + salaried_pay_schedule_uuid: type: - string - 'null' - description: The annual net revenue of the business used for salary calculations. - zip_code: + description: Pay schedule for salaried employees. + readOnly: true + default_pay_schedule_uuid: type: - string - 'null' - description: The ZIP code used for location-based salary calculations. - pattern: "^\\d{5}$" - result: + description: Default pay schedule for employees. + readOnly: true + employees: type: - - integer + - array - 'null' - description: The calculated reasonable salary estimate in cents. Null if not yet calculated. + description: List of employees and their pay schedules. readOnly: true - accepted_at: + items: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee" + departments: type: - - string + - array - 'null' - format: date-time - description: The timestamp when this salary estimate was accepted and finalized. - readOnly: true - created_at: - type: string - format: date-time - description: The timestamp when this salary estimate was created. - readOnly: true - updated_at: - type: string - format: date-time - description: The timestamp when this salary estimate was last updated. + description: List of departments and their pay schedules. readOnly: true - occupations: - type: array - description: Array of occupations with their experience levels and time allocations. items: - type: object - properties: - code: - type: string - description: Bureau of Labor Statistics (BLS) occupation code. - name: - type: string - description: Occupation name. - description: - type: string - description: Occupation description. - experience_level: - type: string - description: Experience level for this occupation. - enum: - - novice - - intermediate - - average - - skilled - - expert - time_percentage: - type: string - description: Percentage of time spent in this occupation (as decimal string, 0-1). - primary: - type: boolean - description: Whether this is the primary occupation. - required: - - code - - experience_level - - time_percentage - required: - - uuid - - employee_uuid - - annual_net_revenue - - zip_code - - created_at - - updated_at - - occupations - x-examples: - success_status: - uuid: 7f5d3d93-6d6f-48c0-9f4e-cd12c2d3e4b2 - employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 - employee_job_uuid: - annual_net_revenue: '500000' - zip_code: '94107' - result: 12000000 - accepted_at: - created_at: '2025-01-15T10:30:00.000-08:00' - updated_at: '2025-01-15T10:30:00.000-08:00' - occupations: - - code: 15-1252 - name: Software Developers, Systems Software - description: Research, design, develop, and test operating systems-level software. - experience_level: skilled - time_percentage: '1.0' - primary: true - BLS-Occupation: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Department" + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Employee: type: object - description: A Bureau of Labor Statistics occupation code with its title and description, used for salary estimate calculations. + x-examples: + example-1: + employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 properties: - code: - type: string - description: Bureau of Labor Statistics (BLS) occupation code. - example: 15-1252 - title: - type: string - description: Occupation title. - example: Software Developers - description: + employee_uuid: type: string - description: Occupation description. - example: Research, design, and develop computer and network software or specialized utility programs. - required: - - code - - title - x-examples: - success_status: - code: 15-1252 - title: Software Developers - description: Research, design, and develop computer and network software or specialized utility programs. - Payroll-Credit-Blocker-Unblock-Option-Submit-Wire: + description: The UUID of the employee. + pay_schedule_uuid: + type: + - string + - 'null' + description: The employee's pay schedule UUID. + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Department: type: object - description: Unblock option to resolve a credit blocker by submitting a wire transfer - required: - - unblock_type - - check_date - - metadata + x-examples: + example-1: + department_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 properties: - unblock_type: + department_uuid: type: string - enum: - - submit_wire - description: The type of unblock option for the credit blocker - readOnly: true - check_date: + description: The UUID of the department. + pay_schedule_uuid: type: string - description: The payment check date associated with the unblock option - readOnly: true - metadata: - type: object - required: - - wire_in_amount - - wire_in_deadline - - wire_in_request_uuid - properties: - wire_in_amount: - type: string - description: The amount to be wired in (decimal string) - readOnly: true - wire_in_deadline: - type: string - format: date-time - description: Deadline for the wire transfer to be received - readOnly: true - wire_in_request_uuid: - type: string - description: UUID of the wire in request - readOnly: true - readOnly: true - Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot: + description: The department's pay schedule UUID. + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Preview: + description: The representation of a pay schedule assignment preview. type: object - description: Unblock option to resolve a credit blocker by submitting a bank screenshot - required: - - unblock_type - - check_date - - metadata + x-examples: + example: + type: hourly_salaried + employee_changes: + - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + first_name: Penny + last_name: Parker + pay_frequency: Twice per month — Salaried pay schedule + first_pay_period: + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + start_date: '2023-07-01' + end_date: '2023-08-01' + check_date: '2023-08-02' + transition_pay_period: + start_date: '2023-06-20' + end_date: '2023-06-30' properties: - unblock_type: - type: string - enum: - - submit_bank_screenshot - description: The type of unblock option for the credit blocker - readOnly: true - check_date: - type: string - description: The payment check date associated with the unblock option - readOnly: true - metadata: - type: object - required: - - information_request_uuid - properties: - information_request_uuid: - type: string - description: UUID of the information request - readOnly: true - bank_account_last_four_digits: - type: - - string - - 'null' - description: Last 4 digits of the bank account number for the bank screenshot RFI - readOnly: true + type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. readOnly: true - Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi: + employee_changes: + type: array + description: A list of pay schedule changes including pay period and transition pay period. + items: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee-Change" + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Employee-Change: type: object - description: Unblock option to resolve a credit blocker by responding to high risk fraud RFI - required: - - unblock_type - - check_date - - metadata + x-examples: + example-1: + employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + first_name: Penny + last_name: Parker + pay_frequency: Twice per month — Salaried pay schedule + first_pay_period: + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + start_date: '2023-07-01' + end_date: '2023-08-01' + check_date: '2023-08-02' + transition_pay_period: + start_date: '2023-06-20' + end_date: '2023-06-30' properties: - unblock_type: + employee_uuid: type: string - enum: - - respond_to_high_risk_fraud_rfi - description: The type of unblock option for the credit blocker + description: The UUID of the employee. readOnly: true - check_date: + first_name: type: string - description: The payment check date associated with the unblock option - readOnly: true - metadata: - type: object - required: - - information_request_uuid - properties: - information_request_uuid: - type: string - description: UUID of the information request - readOnly: true + description: The employee's first name. readOnly: true - Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire: - type: object - description: Unblock option to resolve a credit blocker by waiting for reverse wire - required: - - unblock_type - - check_date - - metadata - properties: - unblock_type: + last_name: type: string - enum: - - wait_for_reverse_wire - description: The type of unblock option for the credit blocker + description: The employee's last name. readOnly: true - check_date: + pay_frequency: type: string - description: The payment check date associated with the unblock option - readOnly: true - metadata: - type: object - properties: - reverse_wire_detail_id: - type: - - integer - - 'null' - description: ID of the reverse wire detail - readOnly: true - bank_account_last_four_digits: - type: - - string - - 'null' - description: Last 4 digits of the bank account number for the reverse wire - readOnly: true + description: New pay schedule frequency and name. readOnly: true - Employee-Section603-High-Earner-Status-List: - type: array - x-examples: - success_status: - - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 - effective_year: 2026 - is_high_earner: false - - id: 550e8400-e29b-41d4-a716-446655440000 - effective_year: 2027 - is_high_earner: true - items: - "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" - Employee-Section603-High-Earner-Status: + first_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Pay-Period" + transition_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Transition-Pay-Period" + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Pay-Period: + description: Pay schedule assignment first pay period information. type: object - description: The representation of an employee's Section 603 high earner status for a specific year. Section 603 of the SECURE 2.0 Act requires employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold to have their catch-up contributions to pre-tax retirement benefits designated as post-tax contributions. x-examples: - success_status: - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 - effective_year: 2026 - is_high_earner: false + example-1: + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + start_date: '2023-07-01' + end_date: '2023-08-01' + check_date: '2023-08-02' properties: - id: + pay_schedule_uuid: type: string - description: The unique identifier of the Section 603 high earner status record - readOnly: true - effective_year: - type: integer - description: The year for which this high earner status applies - readOnly: true - is_high_earner: - type: - - boolean - - 'null' - description: Whether the employee is classified as a high earner for Section 603 purposes. Can be null if the status has not yet been determined. - readOnly: true - required: - - id - - effective_year - - is_high_earner - Employee-Section603-High-Earner-Status-Create-Request: - type: object - description: Request body for creating an employee's Section 603 high earner status - properties: - effective_year: - type: integer - description: The year for which this high earner status applies - example: 2026 - is_high_earner: - type: boolean - description: Whether the employee is classified as a high earner for Section 603 purposes - example: true - required: - - effective_year - - is_high_earner - Employee-Section603-High-Earner-Status-Update-Request: + description: The pay schedule UUID. + start_date: + type: string + description: Pay period start date. + end_date: + type: string + description: Pay period end date. + check_date: + type: string + description: Pay period check date. + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Transition-Pay-Period: + description: Pay schedule assignment transition pay period information. type: object - description: Request body for updating an employee's Section 603 high earner status + x-examples: + example-1: + start_date: '2023-07-01' + end_date: '2023-08-01' properties: - is_high_earner: - type: boolean - description: Whether the employee is classified as a high earner for Section 603 purposes - example: true - required: - - is_high_earner + start_date: + type: string + description: Pay period start date. + end_date: + type: string + description: Pay period end date. + x-tags: + - Pay Schedules + Accruing-Time-Off-Hour: + description: The representation of an unprocessed termination pay period. + type: object + properties: + time_off_policy_uuid: + type: string + description: A unique identifier of the time off policy. + hours: + type: string + description: Hours accrued during this pay period. Employee-Federal-Tax-Pre2020: title: Employee-Federal-Tax-Pre2020 type: object @@ -23024,1319 +14596,1890 @@ components: - deductions x-tags: - Employee Tax Setup - Time-Off-Policy-Request: - type: object - description: Request body for creating a time off policy - allOf: - - "$ref": "#/components/schemas/Time-Off-Policy-Request-Base" - - type: object - required: - - name - - policy_type - - accrual_method - Holiday-Pay-Policy-Request: + Employee-Federal-Tax: + title: Employee-Federal-Tax type: object - description: Request body for creating or updating a holiday pay policy - properties: - federal_holidays: - type: object - description: An object containing federal holiday objects, each containing a boolean selected property. - properties: - new_years_day: - type: object - properties: - selected: - type: boolean - mlk_day: - type: object - properties: - selected: - type: boolean - presidents_day: - type: object - properties: - selected: - type: boolean - memorial_day: - type: object - properties: - selected: - type: boolean - juneteenth: - type: object - properties: - selected: - type: boolean - independence_day: - type: object - properties: - selected: - type: boolean - labor_day: - type: object - properties: - selected: - type: boolean - columbus_day: - type: object - properties: - selected: - type: boolean - veterans_day: - type: object - properties: - selected: - type: boolean - thanksgiving: - type: object - properties: - selected: - type: boolean - christmas_day: - type: object - properties: - selected: - type: boolean - Create-Token-Authentication: - description: '' + description: Federal tax information for an employee. The response structure varies based on the w4_data_type field. + oneOf: + - "$ref": "#/components/schemas/Employee-Federal-Tax-Pre2020" + - "$ref": "#/components/schemas/Employee-Federal-Tax-Rev2020" + discriminator: + propertyName: w4_data_type + mapping: + pre_2020_w4: "#/components/schemas/Employee-Federal-Tax-Pre2020" + rev_2020_w4: "#/components/schemas/Employee-Federal-Tax-Rev2020" + x-examples: + rev_2020_w4: + version: 56a489ce86ed6c1b0f0cecc4050a0b01 + filing_status: Single + two_jobs: false + dependents_amount: '1000.0' + other_income: '10.0' + deductions: '11.0' + extra_withholding: '9.0' + w4_data_type: rev_2020_w4 + employee_uuid: 7d70e6b0-9889-4060-9eef-aafabc14e2f2 + employee_id: 1 + company_id: 1 + rev_2020_w4_married_two_jobs: + version: 63859768485e218ccf8a449bb60f14ed + w4_data_type: rev_2020_w4 + filing_status: Married + two_jobs: true + dependents_amount: '2000.0' + other_income: '20.0' + deductions: '11.0' + extra_withholding: '9.0' + employee_uuid: 8d70e6b0-9889-4060-9eef-aafabc14e2f2 + employee_id: 2 + company_id: 1 + x-tags: + - Employee Tax Setup + Employee-State-Tax: + title: Employee-State-Tax type: object - required: - - access_token - - token_type - - expires_in - - created_at + x-examples: + example-1: + uuid: 287d2c61-1d18-4126-8a4a-9cb29bbb6dac + employee_uuid: 2005e601-3c78-410a-9d40-b960ae130383 + state: CA + questions: + - label: Filing Status + description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + +' + key: filing_status + input_question_format: + type: Select + options: + - value: S + label: Single + - value: M + label: Married one income + - value: MD + label: Married dual income + - value: H + label: Head of household + - value: E + label: Do Not Withhold + answers: + - value: S + valid_from: '2010-01-01' + valid_up_to: + - label: Withholding Allowance + description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + +' + key: withholding_allowance + input_question_format: + type: Number + answers: + - value: 1 + valid_from: '2010-01-01' + valid_up_to: + - label: Additional Withholding + description: You can withhold an additional amount of California income taxes here. + key: additional_withholding + input_question_format: + type: Currency + answers: + - value: '0.0' + valid_from: '2010-01-01' + valid_up_to: + - label: File a New Hire Report? + description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. + key: file_new_hire_report + input_question_format: + type: Select + options: + - value: true + label: Yes, file the state new hire report for me. + - value: false + label: No, I have already filed. + answers: + - value: true + valid_from: '2010-01-01' + valid_up_to: + x-tags: + - Employee Tax Setup properties: - access_token: + uuid: type: string - description: A new access token that can be used for subsequent authenticated requests - token_type: + description: The uuid of the employee state field. + employee_uuid: type: string - default: Bearer - description: The literal string 'Bearer' - expires_in: - type: number - default: 7200 - description: The TTL of this token. After this amount of time, you must hit the refresh token endpoint to continue making authenticated requests. - created_at: - type: number - description: Datetime for when the new access token is created. - refresh_token: + description: The employee's uuid + state: + type: string + description: Two letter US state abbreviation + file_new_hire_report: type: - - string - - 'null' - description: A token that must be passed to the refresh token endpoint to get a new authenticated token. Only present when refresh token is provided. - Refresh-Token-Authentication: - description: '' - type: object - allOf: - - "$ref": "#/components/schemas/Create-Token-Authentication" - - type: object - properties: - refresh_token: - type: string - description: A token that must be passed to the refresh token endpoint to get a new authenticated token. - scope: - type: string - description: All of the scopes for which the access token provides access. - Time-Off-Policy-Request-Base: + - boolean + - 'null' + is_work_state: + type: boolean + questions: + type: array + items: + "$ref": "#/components/schemas/Employee-State-Tax-Question" + required: + - uuid + - employee_uuid + - state + - questions + Federal-Tax-Details: + title: Federal-Tax-Details type: object - description: Base Request Objectfor creating or updating a time off policy properties: - name: - type: string - description: Name of the time off policy - example: Vacation Policy - policy_type: + version: type: string - description: Type of the time off policy. Currently only "vacation" and "sick" are supported - enum: - - vacation - - sick - accrual_method: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + tax_payer_type: + anyOf: + - type: string + enum: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + - type: 'null' + description: |- + What type of tax entity the company is. One of: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + taxable_as_scorp: + type: boolean + description: |- + Whether the company is taxed as an S-Corporation. Tax payer types that may be taxed as an S-Corporation include: + - S-Corporation + - C-Corporation + - LLC + filing_form: type: string - description: Accrual method of the time off policy enum: - - unlimited - - per_pay_period - - per_calendar_year - - per_anniversary_year - - per_hour_worked - - per_hour_worked_no_overtime - - per_hour_paid - - per_hour_paid_no_overtime - accrual_rate: - type: - - string - - 'null' - description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". - accrual_rate_unit: - type: - - string - - 'null' - description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". - paid_out_on_termination: + - '941' + - '944' + description: |- + The form used by the company for federal tax filing. One of: + - 941 (Quarterly federal tax return form) + - 944 (Annual federal tax return form) + has_ein: type: boolean - description: Boolean representing if an employee's accrued time off hours will be paid out on termination. If accrual_method is unlimited, then paid_out_on_termination must be `false`. - accrual_waiting_period_days: - type: - - integer - - 'null' - description: Number of days before an employee on the policy will begin accruing time off hours. If accrual_method is per_anniversary_year, per_calendar_year, or unlimited, then accrual_waiting_period_days should be 0. - carryover_limit_hours: - type: - - string - - 'null' - description: The max number of hours an employee can carryover from one year to the next. If accrual_method is unlimited, then carryover_limit_hours must be blank. - max_accrual_hours_per_year: - type: - - string - - 'null' - description: The max number of hours an employee can accrue in a year. If accrual_method is yearly (per_anniversary_year, per_calendar_year) or unlimited, then max_accrual_hours_per_year must be blank. - max_hours: - type: - - string - - 'null' - description: The max number of hours an employee can accrue. If accrual_method is unlimited, then max_hours must be blank. - policy_reset_date: - type: - - string - - 'null' - description: The date the policy resets. Format MM-DD - complete: + description: Whether company's Employer Identification Number (EIN) is present + ein_verified: type: boolean - description: boolean representing if a policy has completed configuration - Time-Off-Policy-Update-Request: - type: object - description: Request body for updating a time off policy - allOf: - - "$ref": "#/components/schemas/Time-Off-Policy-Request-Base" - Payroll-Submission-Blocker-Type: + description: Whether the EIN has been successfully verified as a valid EIN with the IRS. + ein_verification: + type: object + nullable: false + description: Information about the status of verifying the company's Employer Identification Number (EIN) + properties: + status: + type: string + nullable: false + enum: + - pending + - verified + - failed + description: |- + The status of EIN verification: + - `pending`: The EIN verification process has not completed (or the company does not yet have an EIN). + - `verified`: The EIN has been successfully verified as a valid EIN with the IRS. + - `failed`: The company's EIN did not pass verification. Common issues are being entered incorrectly or not matching the company's legal name. + legal_name: + type: string + description: The legal name of the company + effective_date: + type: string + description: The date that these details took effect. + deposit_schedule: + type: string + description: |- + How often the company sends money to the IRS. One of: + - Semiweekly + - Monthly + x-examples: + Success: + version: 68934a3e9455fa72420237eb + tax_payer_type: S-Corporation + taxable_as_scorp: true + filing_form: '941' + has_ein: true + ein_verified: true + ein_verification: + status: verified + legal_name: Acme Corp + effective_date: '2024-01-01' + deposit_schedule: Semiweekly + x-tags: + - Federal Tax Details + Federal-Tax-Details-Update: + title: Federal-Tax-Details-Update type: object - description: A blocker that prevents payment submission. + required: + - version properties: - blocker_type: + version: type: string - description: The type of blocker that's blocking the payment submission. - readOnly: true - blocker_name: + example: 6cb95e00540706ca48d4577b3c839fbe + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + legal_name: type: string - description: The name of the submission blocker. - readOnly: true - unblock_options: - type: array - uniqueItems: true - items: - type: object - properties: - unblock_type: - type: string - description: The type of unblock option for the submission blocker. - readOnly: true - check_date: - type: string - description: The payment check date associated with the unblock option. - readOnly: true - metadata: - type: object - additionalProperties: true - description: Additional data associated with the unblock option. - readOnly: true - description: The available options to unblock a submission blocker. - readOnly: true - selected_option: - type: - - string - - 'null' - description: The unblock option that's been selected to resolve the submission blocker. - readOnly: false - status: + example: Acme Corp. + description: The legal name of the company + ein: type: string - description: The status of the submission blocker. + example: '123456789' + description: The company's Employer Identification Number (EIN). Must be 9 digits. Dashes are optional (e.g., '12-3456789' or '123456789'). + tax_payer_type: + type: string + example: LLP + enum: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + description: |- + What type of tax entity the company is. One of: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + filing_form: + type: string + example: '944' enum: - - unresolved - - resolved - readOnly: true - Payroll-Credit-Blocker-Type: + - '941' + - '944' + description: |- + The form used by the company for federal tax filing. One of: + - 941 (Quarterly federal tax return form) + - 944 (Annual federal tax return form) + taxable_as_scorp: + type: boolean + example: false + description: Whether the company is taxed as an S-Corporation + x-tags: + - Federal Tax Details + Employee-Bank-Account: + title: Employee-Bank-Account type: object - description: A blocker that prevents payment crediting. + x-examples: + Example: + uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 + name: BoA Checking Account + routing_number: '266905059' + hidden_account_number: XXXX1207 + account_type: Checking properties: - blocker_type: + uuid: type: string - description: The type of blocker that's blocking the payment from being credited. - readOnly: true - blocker_name: + description: UUID of the bank account + employee_uuid: type: string - description: The name of the credit blocker. - readOnly: true - unblock_options: - type: array - uniqueItems: true - items: - oneOf: - - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Wire" - - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot" - - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi" - - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire" - discriminator: - propertyName: unblock_type - mapping: - submit_wire: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Wire" - submit_bank_screenshot: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot" - respond_to_high_risk_fraud_rfi: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi" - wait_for_reverse_wire: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire" - description: The available options to unblock a credit blocker. - readOnly: true - selected_option: - type: - - string - - 'null' - description: The unblock option that's been selected to resolve the credit blocker. - readOnly: false - status: + description: UUID of the employee + account_type: type: string - description: The status of the credit blocker enum: - - unresolved - - pending_review - - resolved - - failed - Payroll-Gross-Up-Request: - type: object - description: Request body for calculating gross up amount - properties: - employee_uuid: + - Checking + - Savings + description: Bank account type + name: type: string - description: The UUID of the employee - net_pay: + description: Name for the bank account + routing_number: type: string - format: float - description: Employee net earnings + description: The bank account's routing number + hidden_account_number: + type: string + description: Masked bank account number + x-tags: + - Employee Payment Method required: - - employee_uuid - - net_pay - Payroll-Gross-Up-Response: + - uuid + Contractor-Bank-Account: + title: Contractor-Bank-Account type: object - description: Response containing the calculated gross up amount x-examples: - success_status: - gross_up: '1234.56' + example: + uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 + name: BoA Checking Account + routing_number: '266905059' + hidden_account_number: XXXX1207 + account_type: Checking + x-tags: + - Contractor Payment Method properties: - gross_up: + uuid: type: string - format: float - description: Gross up earnings. - Payroll-Calculate-Accruing-Time-Off-Hours-Request: - type: object - description: Request body for calculating accruing time off hours - properties: - regular_hours_worked: - type: - - string - - 'null' - format: float - description: Regular hours worked in this pay period - overtime_hours_worked: - type: - - string - - 'null' - format: float - description: Overtime hours worked in this pay period - double_overtime_hours_worked: - type: - - string - - 'null' - format: float - description: Double overtime hours worked in this pay period - pto_hours_used: - type: - - string - - 'null' - format: float - description: Paid time off hours used in this pay period - sick_hours_used: - type: - - string - - 'null' - format: float - description: Sick hours used in this pay period - Payroll-Calculate-Accruing-Time-Off-Hours-Response: - type: object - description: Response containing the calculated accruing time off hours - x-examples: - success_status: - hours_earned: - - time_off_policy_uuid: 7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f - hours: '3.0' - - time_off_policy_uuid: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d - hours: '20.0' - properties: - hours_earned: - type: array - description: Accruing time off hours earned for each time off policy - items: - type: object - properties: - time_off_policy_uuid: - type: string - description: The UUID of the time off policy - hours: - type: string - format: float - description: Hours accrued during this pay period. + description: UUID of the bank account + contractor_uuid: + type: string + description: UUID of the contractor + account_type: + type: string + enum: + - Checking + - Savings + description: Bank account type + name: + type: string + description: Name for the bank account + routing_number: + type: string + description: The bank account's routing number + hidden_account_number: + type: string + description: Masked bank account number required: - - hours_earned - Unprocessed-Payroll: - type: object - description: A payroll that has been transitioned back to unprocessed state after cancellation. + - uuid + - contractor_uuid + - name + - routing_number + - hidden_account_number + - account_type + Contractor-Bank-Account-List: + title: Contractor-Bank-Account-List + type: array + items: + "$ref": "#/components/schemas/Contractor-Bank-Account" x-examples: - success_status: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - employee_compensations: [] - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - off_cycle: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - check_date: '2021-02-22' - external: false - payroll_deadline: '2021-02-18T22:00:00Z' - created_at: '2022-02-01T22:00:00Z' - partner_owned_disbursement: - properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - partner_owned_disbursement: - "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" - Contractor-Payment-Body: - description: Request body for creating a contractor payment. + example: + - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 + name: BoA Checking Account + routing_number: '266905059' + hidden_account_number: XXXX1207 + account_type: Checking + Contractor-Bank-Account-Create-Request-Body: + title: Contractor-Bank-Account-Create-Request-Body type: object required: - - contractor_uuid - - date + - name + - routing_number + - account_number + - account_type properties: - contractor_uuid: + name: type: string - description: The contractor receiving the payment. - date: + description: Name for the bank account + routing_number: type: string - format: date - description: Date of contractor payment. - example: '2020-01-01' + description: The bank account's routing number + account_number: + type: string + description: The bank account's account number + account_type: + type: string + enum: + - Checking + - Savings + description: Bank account type + x-examples: + example: + name: BoA Checking Account + routing_number: '266905059' + account_number: '5809431207' + account_type: Checking + DetailedPaymentAccountSplit: + title: DetailedPaymentAccountSplit + type: object + description: Details of a single payment split for a payment method. + properties: + bank_account_uuid: + type: string + description: The UUID of the bank account. + readOnly: true + hidden_account_number: + type: string + description: The masked account number. + readOnly: true + name: + type: string + description: The name of the bank account. + readOnly: true + priority: + type: integer + description: The priority of the payment split. + readOnly: true + split_amount: + type: + - integer + - 'null' + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + readOnly: true + encrypted_account_number: + type: + - string + - 'null' + description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the appropriate `read:account_number` scope (e.g., `employee_payment_methods:read:account_number`). + readOnly: true + x-examples: + AmountSplitExample: + value: + bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + hidden_account_number: XXXX1207 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + name: Primary Checking + priority: 1 + split_amount: 50000 + PercentageSplitExample: + value: + bank_account_uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + hidden_account_number: XXXX5678 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + name: Savings Account + priority: 1 + split_amount: 100 + EmployeePaymentDetail: + title: EmployeePaymentDetail + type: object + description: Represents an employee's payment method details. + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true payment_method: type: string + description: The type of payment method. enum: - Direct Deposit - Check - - Historical Payment - default: Direct Deposit - wage: - type: string - format: float - description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked. - example: '5000' - hours: - type: string - format: float - description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment. - example: '40' - bonus: + readOnly: true + split_by: + anyOf: + - type: string + enum: + - Percentage + - Amount + - type: 'null' + description: How the payment is split. This field is applicable when `payment_method` is "Direct Deposit". + readOnly: true + splits: + type: + - array + - 'null' + description: An array of payment splits. This field is applicable when `payment_method` is "Direct Deposit". + items: + "$ref": "#/components/schemas/DetailedPaymentAccountSplit" + readOnly: true + x-examples: + DirectDepositExample: + value: + employee_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + payment_method: Direct Deposit + split_by: Percentage + splits: + - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + hidden_account_number: XXXX1207 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + name: Primary Checking + priority: 1 + split_amount: 100 + Employee-Payment-Method: + title: Employee-Payment-Method + type: object + x-examples: + direct_deposit_percentage: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Percentage + splits: + - uuid: 4b35bebe-3445-4014-a748-1e264647d601 + name: Cayman Island Checking + hidden_account_number: XXXX1234 + priority: 1 + split_amount: 100 + Example-1: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Amount + splits: + - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + name: BoA Checking Account + priority: 1 + split_amount: 50000 + - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a + name: Chase Checking Account + priority: 2 + split_amount: 100000 + - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + name: US Bank Checking Account + priority: 3 + split_amount: + Example-2: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Percentage + splits: + - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + name: BoA Checking Account + priority: 1 + split_amount: 60 + - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a + name: Chase Checking Account + priority: 2 + split_amount: 40 + Example-3: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Check + description: '' + properties: + version: type: string - format: float - description: If the contractor is on an hourly wage, this is the bonus the contractor earned. - example: '500' - reimbursement: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + type: type: string - format: float - description: Reimbursed wages for the contractor. - example: '20' + enum: + - Direct Deposit + - Check + description: The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: Describes how the payment will be split. If `split_by` is Percentage, then the split amounts must add up to exactly 100. If `split_by` is Amount, then the last split `amount` must be `null` to capture the remainder. + splits: + type: + - array + - 'null' + items: + "$ref": "#/components/schemas/Payment-Method-Bank-Account" x-tags: - - Contractor Payments - Payroll-Submission-Blocker-Request-Type: + - Employee Payment Method + Tax-Requirement: type: object - description: Request object for resolving a submission blocker. Each submission_blocker should include a selected unblock option. - required: - - blocker_type - - selected_option + x-examples: + ga-withholding-requirement-example: + key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. + value: 1233214-AB + editable: true + metadata: + type: account_number + mask: "#######-^^" + prefix: properties: - blocker_type: - type: string - description: The type of submission_blocker that is blocking the payment. - selected_option: + key: + "$ref": "#/components/schemas/Tax-Requirement-Key" + applicable_if: + type: array + description: An array of references to other requirements within the requirement set. This requirement is only applicable if all referenced requirements have values matching the corresponding `value`. The primary use-case is dynamically hiding and showing requirements as values change. E.g. Show Requirement-B when Requirement-A has been answered with `false`. To be explicit, an empty array means the requirement is applicable. + items: + type: object + properties: + key: + "$ref": "#/components/schemas/Tax-Requirement-Key" + value: + description: The required value of the requirement identified by `key` + oneOf: + - type: boolean + - type: string + - type: number + - type: 'null' + label: type: string - description: The selected option to unblock the payment's submission_blocker. - Company-Industry-Selection-Required-Body: - type: object - properties: - title: + description: A customer facing description of the requirement + description: type: - string - 'null' - example: Computer Training - description: Industry title - naics_code: + description: A more detailed customer facing description of the requirement + value: + "$ref": "#/components/schemas/Tax-Requirements-Value" + metadata: + "$ref": "#/components/schemas/Tax-Requirement-Metadata" + editable: + type: boolean + description: Whether the value of this requirement can be updated + Tax-Requirement-Metadata: + type: object + x-examples: + select-example: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + tax_rate-example: + metadata: + type: tax_rate + validation: + type: min_max + min: '0.0004' + max: '0.081' + radio-example: + metadata: + type: radio + options: + - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly + short_label: Not Reimbursable + value: false + - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly + short_label: Reimbursable + value: true + account_number-example: + metadata: + type: account_number + mask: "######-##" + prefix: + properties: + type: type: string - pattern: "^\\d{6}$" - example: '611420' - description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. - sic_codes: + enum: + - text + - currency + - radio + - select + - percent + - account_number + - tax_rate + - workers_compensation_rate + description: | + Describes the type of requirement - each type may have additional metadata properties to describe possible values, formats, etc. + + - `text`: free-text input, no additional requirements + - `currency`: a value representing a dollar amount, e.g. `374.55` representing `$374.55` + - `radio`: choose one of options provided, see `options` + - `select`: choose one of options provided, see `options` + - `percent`: A decimal value representing a percentage, e.g. `0.034` representing `3.4%` + - `account_number`: An account number for a tax agency, more information provided by `mask` and `prefix` + - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing a tax rate of `3.4%`, see `validation` for additional validation guidance + - `workers_compensation_rate`: A decimal value representing a percentage, see `risk_class_code`, `risk_class_description`, and `rate_type` + readOnly: true + options: type: array - description: A list of Standard Industrial Classification (SIC) codes, which are four digit numbers that categorize the industries that companies belong to based on their business activities. If sic_codes is not passed in, we will perform an internal lookup with `naics_code`. + description: "[for `select` or `radio`] An array of objects describing the possible values." items: - type: string - pattern: "^\\d{4}$" - example: '8243' - required: - - naics_code - Create-Flow-Request: - description: Request body for creating a flow. - type: object - required: - - flow_type - properties: - flow_type: + type: object + properties: + label: + type: string + description: A customer facing label for the answer + value: + oneOf: + - type: string + - type: boolean + description: The actual value to be submitted + short_label: + type: + - string + - 'null' + description: A less verbose label that may sometimes be available + required: + - label + - value + risk_class_code: type: string - description: The type of flow to generate. Multiple flow types can be combined by separating them with commas (e.g., "add_addresses,add_employees,sign_all_forms"). - example: company_onboarding - entity_uuid: + description: "[for `workers_compensation_rate`] The industry risk class code for the rate being requested" + risk_class_description: type: string - description: UUID of the target entity applicable to the flow. This field is optional for company flows. - entity_type: + description: "[for `workers_compensation_rate`] A description of the industry risk class for the rate being requested" + rate_type: type: string - description: The type of target entity applicable to the flow. This field is optional for company flows. + description: | + [for `workers_compensation_rate`] The type of rate being collected. Either: + - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1% + - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr enum: - - Company - - Employee - - Contractor - - Payroll - options: - type: object - description: Optional configuration object that varies based on the flow_type. This can contain arbitrary key-value pairs specific to the flow being generated. - additionalProperties: true - x-examples: - example: - flow_type: company_onboarding - with_entity: - flow_type: employee_form_signing - entity_uuid: 1b71bb5b-4811-46e9-8a8a-cf5521cbeda6 - entity_type: Employee - with_options: - flow_type: company_retirement_benefits - options: - provider: guideline - Event-List: - type: array - description: A list of events - x-examples: - success_status: - - uuid: f7397a24-57ad-4fae-b011-d258e8232900 - event_type: employee.created - resource_type: Company - resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - entity_type: Employee - entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - timestamp: 1686784995 - - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - event_type: company.provisioned - resource_type: Company - resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - entity_type: Company - entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - timestamp: 1686784994 - items: - "$ref": "#/components/schemas/Event" - Company-Location-Request: - type: object - description: Request body for creating a company location (company address). - properties: - street_1: - type: string - description: Street address line 1. - example: 300 3rd Street - street_2: + - percent + - currency_per_hour + mask: type: - string - 'null' - description: Street address line 2. - example: Apartment 318 - city: - type: string - description: City. - example: San Francisco + description: | + [for `account_number`] A pattern describing the format of the account number + + The mask is a sequence of characters representing the requirements of the actual account number. Each character in the mask represents a single character in the account number as follows: + - `#`: a digit (`\d`) + - `@`: a upper or lower case letter (`[a-zA-Z]`) + - `^`: an uppercase letter (`[A-Z]`) + - `%`: a digit or uppercase letter (`[0-9A-Z]`) + - any other character represents the literal character + + Examples: + - mask: `WHT-######` represents `WHT-` followed by 5 digits, e.g. `WHT-33421` + - mask: `%####-^^` supports values of `75544-AB` and `Z7654-HK` + prefix: + type: + - string + - 'null' + description: "[for `account_number`] A value that precedes the value to be collected - useful for display, but should not be submitted as part of the value. E.g. some tax agencies use an account number that is a company's federal ein plus two digits. In that case the mask would be `##` and the prefix `XXXXX1234`." + validation: + type: object + description: "[for `tax_rate`] Describes the validation required for the tax rate" + properties: + type: + type: string + description: Describes the type of tax_rate validation rule + enum: + - one_of + - min_max + min: + type: string + description: "[for `min_max`] The inclusive lower bound of the tax rate" + max: + type: string + description: "[for `min_max`] The inclusive upper bound of the tax rate" + rates: + type: array + description: | + [for `one_of`] The possible, unformatted tax rates for selection. + - e.g. ["0.0", "0.001"] representing 0% and 0.1% + items: + type: string + required: + - type + required: + - type + description: '' + Tax-Requirement-Set: + type: object + x-examples: + tax-requirements-set-ga-registrations-example: + state: GA + key: registrations + label: Registrations + effective_from: + requirements: + - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. + value: 1233214-AB + metadata: + type: account_number + mask: "#######-^^" + prefix: + - key: 6c0911ab-5860-412e-bdef-6437cd881df5 + applicable_if: [] + label: DOL Account Number + description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. + value: 474747-88 + metadata: + type: account_number + mask: "######-##" + prefix: + description: '' + properties: state: + "$ref": "#/components/schemas/State" + key: + "$ref": "#/components/schemas/Tax-Requirement-Set-Key" + label: type: string - description: State code (e.g. CA). Must be a valid two-letter state code. - example: CA - zip: - type: string - description: ZIP code. Must be a valid US zip (e.g. 12345 or 12345-6789). - example: '94107' - x-speakeasy-name-override: zip_code - country: - type: string - description: Country code. Defaults to USA. - default: USA - example: USA - phone_number: - type: string - description: Phone number. Must be 10 digits. - pattern: "[0-9]{10}" - example: '8009360383' - mailing_address: - type: boolean - description: Specify if this location is the company's mailing address. - filing_address: - type: boolean - description: Specify if this location is the company's filing address. - required: - - phone_number - - street_1 - - city - - state - - zip + description: Customer facing label for the requirement set, e.g. "Registrations" + effective_from: + "$ref": "#/components/schemas/Tax-Requirement-Effective-From" + requirements: + type: array + items: + "$ref": "#/components/schemas/Tax-Requirement" + Tax-Requirements-State: + title: Tax-Requirements-State + type: object x-examples: - typical_location: - street_1: 300 3rd Street - street_2: Apartment 318 - city: San Francisco - state: CA - zip: '94107' - country: USA - phone_number: '8009360383' - mailing_address: false - filing_address: false - Company-Locations-List: + tax-requirements-state-ga-example: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: registrations + label: Registrations + effective_from: + requirements: + - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. + value: 1233214-AB + editable: true + metadata: + type: account_number + mask: "#######-^^" + prefix: + - key: 6c0911ab-5860-412e-bdef-6437cd881df5 + applicable_if: [] + label: DOL Account Number + description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. + value: 474747-88 + editable: true + metadata: + type: account_number + mask: "######-##" + prefix: + - state: GA + key: taxrates + label: Tax Rates + effective_from: '2022-01-01' + requirements: + - key: suireimbursable + applicable_if: [] + label: SUI Reimburser + description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses (like non-profits or government organizations) may be allowed to reimburse the state if one of their employees collects unemployment benefits. + value: false + editable: true + metadata: + type: radio + options: + - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly + short_label: Not Reimbursable + value: false + - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly + short_label: Reimbursable + value: true + - key: e0ac2284-8d30-4100-ae23-f85f9574868b + applicable_if: + - key: suireimbursable + value: false + label: Total Tax Rate + description: Haven't received your assigned rate yet? Find the new employer rate and enter it here. + value: '0.05' + editable: true + metadata: + type: tax_rate + validation: + type: min_max + min: '0.0004' + max: '0.081' + - state: GA + key: depositschedules + label: Deposit Schedules + effective_from: '2022-01-01' + requirements: + - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c + applicable_if: [] + label: Deposit Schedule + description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. + value: Monthly + editable: true + metadata: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + - state: GA + key: depositschedules + label: Deposit Schedules + effective_from: '2022-07-01' + requirements: + - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c + applicable_if: [] + label: Deposit Schedule + description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. + value: Monthly + editable: true + metadata: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + tax-requirements-metadata-select: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: depositschedules + label: Deposit Schedules + effective_from: '2022-01-01' + requirements: + - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c + applicable_if: [] + label: Deposit Schedule + description: The deposit schedule assigned by the state agency. + value: Monthly + editable: true + metadata: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + tax-requirements-metadata-radio: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: taxrates + label: Tax Rates + effective_from: '2022-01-01' + requirements: + - key: suireimbursable + applicable_if: [] + label: SUI Reimburser + description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses may be allowed to reimburse the state if one of their employees collects unemployment benefits. + value: false + editable: true + metadata: + type: radio + options: + - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly + short_label: Not Reimbursable + value: false + - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don't have to pay SUI taxes quarterly + short_label: Reimbursable + value: true + tax-requirements-metadata-account-number: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: registrations + label: Registrations + effective_from: + requirements: + - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: Your state withholding account number. + value: 1233214-AB + editable: true + metadata: + type: account_number + mask: "#######-^^" + prefix: + tax-requirements-metadata-tax-rate: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: taxrates + label: Tax Rates + effective_from: '2022-01-01' + requirements: + - key: e0ac2284-8d30-4100-ae23-f85f9574868b + applicable_if: + - key: suireimbursable + value: false + label: Total Tax Rate + description: The assigned SUI tax rate for this state. + value: '0.05' + editable: true + metadata: + type: tax_rate + validation: + type: min_max + min: '0.0004' + max: '0.081' + description: '' + properties: + company_uuid: + type: string + state: + "$ref": "#/components/schemas/State" + requirement_sets: + type: array + items: + "$ref": "#/components/schemas/Tax-Requirement-Set" + Tax-Requirement-States-List: type: array x-examples: success_status: - - uuid: 04552eb9-7829-4b18-ae96-6983552948df - version: 7d9753112507b9dda4fb97910f39b06e - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - phone_number: '5825710808' - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - mailing_address: false - filing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - active: true - inactive: false - - uuid: fa94a2fd-11a8-4024-87ff-85c587d9d2b4 - version: 15e6b9680e00f3122729e64e3cef3224 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - phone_number: '2866070827' - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA, - mailing_address: true - filing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - active: true - inactive: false + - state: GA + setup_status: not_started + default_rates_applied: false + ready_to_run_payroll: false + - state: CA + setup_status: complete + default_rates_applied: false + ready_to_run_payroll: true items: - "$ref": "#/components/schemas/Location" - Employee-Onboarding-Documents-Config-Request: - type: object - description: Request body for updating an employee's onboarding documents configuration. - properties: - i9_document: - type: boolean - default: false - description: | - Whether to include Form I-9 for this employee during onboarding. - When true, the employee will be prompted to complete Form I-9 as part of their onboarding. - x-examples: - enable_i9: - i9_document: true - disable_i9: - i9_document: false - Contractor-Update-Request-Body: - description: Request body for updating a contractor. + type: object + properties: + state: + "$ref": "#/components/schemas/State" + setup_status: + type: string + enum: + - not_started + - in_progress + - complete + description: | + The current status of the state tax setup. + - `not_started`: No requirements have been filled + - `in_progress`: Some requirements have been filled, or default rates are applied + - `complete`: All requirements have been filled without default rates + default_rates_applied: + type: boolean + description: Whether the state is using system-assigned default SUI rates rather than employer-specific rates. + ready_to_run_payroll: + type: boolean + description: Whether the state tax setup is sufficiently complete for the company to run payroll. + Tax-Requirement-Set-Update: + type: array + description: Array of requirement sets to update. Each set corresponds to a category of requirements for the state. + items: + type: object + required: + - key + - state + properties: + key: + "$ref": "#/components/schemas/Tax-Requirement-Set-Key" + state: + "$ref": "#/components/schemas/State" + effective_from: + "$ref": "#/components/schemas/Tax-Requirement-Effective-From" + requirements: + type: array + items: + type: object + required: + - key + properties: + key: + "$ref": "#/components/schemas/Tax-Requirement-Key" + value: + "$ref": "#/components/schemas/Tax-Requirements-Value" + Tax-Requirements-Value: + description: The value or "answer" for a tax requirement. Type depends on the requirement metadata type (e.g. string for text/account_number, boolean for radio/checkbox, number for percent/currency/tax_rate). Null when the requirement has not been answered. + example: 1233214-AB + oneOf: + - type: boolean + - type: string + - type: number + - type: 'null' + Tax-Requirement-Set-Key: + title: Tax-Requirement-Set-Key + type: string + example: registrations + description: An identifier for a set of requirements. A list of requirement sets can contain multiple sets with the same `key` and different `effective_from` values. + Tax-Requirement-Key: + title: Tax-Requirement-Key + type: string + example: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + description: An identifier for an individual requirement. Uniqueness is guaranteed within a requirement set. + Tax-Requirement-Effective-From: + title: Tax-Requirement-Effective-From + type: + - string + - 'null' + example: '2022-01-01' + description: An ISO 8601 formatted date representing the date values became effective. Some requirement sets are effective dated, while others are not. Multiple requirement sets for the same state/key can/will exist with unique effective dates. If a requirement set is has an `effective_from` value, all requirement sets with the same key will also have an `effective_from` value. + State: + title: State + type: string + example: GA + description: One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC) + Time-Off-Policy: type: object - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Contractor-Body" x-examples: - update_individual_contractor: - version: b48c46abfed1487b873b442334b3c4ff - start_date: '2021-01-01' - first_name: Chanel - last_name: Boyle - middle_initial: X - wage_type: Hourly - hourly_rate: '20.00' + success_status: + uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 + company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 + name: test policy + policy_type: vacation + accrual_method: per_hour_worked + accrual_rate: '40.0' + accrual_rate_unit: '40.0' + paid_out_on_termination: true + accrual_waiting_period_days: 10 + carryover_limit_hours: '100.0' + max_accrual_hours_per_year: '100.0' + max_hours: '100.0' + complete: true + version: f5556bce3d75ec2b62bd11990aa7993a is_active: true - update_business_contractor: - version: b48c46abfed1487b873b442334b3c4ff - start_date: '2020-01-11' - business_name: Contracting Solutions - ein: '991113334' - wage_type: Fixed + policy_reset_date: 01-01 + employees: + - uuid: c61d1895-5cf8-4217-88c8-20d7c3132a04 + balance: '40.0' + - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a + balance: '20.0' + success_status_no_employees: + uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 + company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 + name: test policy + policy_type: vacation + accrual_method: per_hour_worked + accrual_rate: '40.0' + accrual_rate_unit: '40.0' + paid_out_on_termination: true + accrual_waiting_period_days: 10 + carryover_limit_hours: '100.0' + max_accrual_hours_per_year: '100.0' + max_hours: '100.0' + complete: true + version: f5556bce3d75ec2b62bd11990aa7993a + is_active: true + policy_reset_date: 01-01 + employees: [] + deactivated_status: + uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 + company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 + name: test policy + policy_type: vacation + accrual_method: per_hour_worked + accrual_rate: '40.0' + accrual_rate_unit: '40.0' + paid_out_on_termination: true + accrual_waiting_period_days: 10 + carryover_limit_hours: '100.0' + max_accrual_hours_per_year: '100.0' + max_hours: '100.0' + complete: true + version: is_active: false - Contractor-Create-Request-Body: - description: Request body for creating a contractor. - type: object - required: - - type - - wage_type - - start_date - allOf: - - "$ref": "#/components/schemas/Contractor-Body" - x-examples: - create_individual_contractor: - type: Individual - wage_type: Fixed - first_name: Johnson - last_name: Johnson - start_date: '2020-04-01' - self_onboarding: true - email: johnson@johnson.com - file_new_hire_report: true - work_state: CA - create_business_contractor: - type: Business - wage_type: Fixed - business_name: Johnson-Johnson Contractors - start_date: '2020-04-01' - Compensations-Body: - type: object + policy_reset_date: 01-01 + employees: [] + description: Representation of a Time Off Policy properties: - rate: + uuid: + type: string + description: Unique identifier of a time off policy + company_uuid: + type: string + description: Unique identifier for the company owning the time off policy + name: type: string - description: The dollar amount paid per payment unit. - example: '70000.00' - payment_unit: + description: Name of the time off policy + policy_type: type: string - description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. + description: Type of the time off policy. Only "vacation" and "sick" can be created through the API, but other types may be present if the company was previously a Gusto.com customer. enum: - - Hour - - Week - - Month - - Year - - Paycheck - example: Year - flsa_status: - "$ref": "#/components/schemas/Flsa-Status-Type" - effective_date: - type: string - description: The effective date for this compensation. - example: '2023-01-01' - title: + - vacation + - sick + - bereavement + - custom + - floating_holiday + - jury_duty + - learning_and_development + - parental_leave + - personal_day + - volunteer + - weather + accrual_method: type: string - description: The job title for this compensation. - example: Software Engineer - adjust_for_minimum_wage: + description: Policy time off accrual method + accrual_rate: + type: + - string + - 'null' + format: float + description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". + accrual_rate_unit: + type: + - string + - 'null' + format: float + description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". + paid_out_on_termination: type: boolean - description: Whether the compensation should be adjusted to minimum wage during payroll calculation. - minimum_wages: + description: Boolean representing if an employee's accrued time off hours will be paid out on termination + accrual_waiting_period_days: + type: + - integer + - 'null' + description: Number of days before an employee on the policy will begin accruing time off hours + carryover_limit_hours: + type: + - string + - 'null' + format: float + description: The max number of hours an employee can carryover from one year to the next + max_accrual_hours_per_year: + type: + - string + - 'null' + format: float + description: The max number of hours an employee can accrue in a year + max_hours: + type: + - string + - 'null' + format: float + description: The max number of hours an employee can accrue + policy_reset_date: + type: + - string + - 'null' + description: The date the policy resets. Format MM-DD + complete: + type: boolean + description: boolean representing if a policy has completed configuration + version: + type: + - string + - 'null' + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. The version will be null if the policy is no longer active. + is_active: + type: boolean + description: boolean representing if a policy is active or not + employees: type: array + description: List of employee UUIDs under a time off policy items: type: object properties: uuid: type: string - description: The UUID of the minimum wage. - Compensations-Request-Body: - description: Request body for creating a compensation. - type: object + balance: + type: string + description: The time off balance for the employee required: - - rate - - payment_unit - - flsa_status - allOf: - - "$ref": "#/components/schemas/Compensations-Body" - x-examples: - create_compensation: - rate: '70000.00' - payment_unit: Year - flsa_status: Exempt - effective_date: '2023-01-01' - title: Software Engineer - Compensations-Update-Request-Body: - description: Request body for updating a compensation. - type: object - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Compensations-Body" - x-examples: - update_compensation: - version: b48c46abfed1487b873b442334b3c4ff - rate: '75000.00' - payment_unit: Year - flsa_status: Exempt - effective_date: '2023-01-01' - title: Senior Engineer - Payroll-Employee-Compensations-Base-Type: + - uuid + - company_uuid + - name + - policy_type + - accrual_method + - is_active + - employees + Time-Off-Policy-Request-Base: type: object + description: Base Request Objectfor creating or updating a time off policy properties: - employee_uuid: + name: type: string - description: The UUID of the employee. - readOnly: true - excluded: + description: Name of the time off policy + example: Vacation Policy + policy_type: + type: string + description: Type of the time off policy. Currently only "vacation" and "sick" are supported + enum: + - vacation + - sick + accrual_method: + type: string + description: Accrual method of the time off policy + enum: + - unlimited + - per_pay_period + - per_calendar_year + - per_anniversary_year + - per_hour_worked + - per_hour_worked_no_overtime + - per_hour_paid + - per_hour_paid_no_overtime + accrual_rate: + type: + - string + - 'null' + description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". + accrual_rate_unit: + type: + - string + - 'null' + description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". + paid_out_on_termination: type: boolean - description: This employee will be excluded (skipped) from payroll calculation and will not be paid for the payroll. Cancelling a payroll would reset all employees' excluded back to false. - readOnly: true - first_name: + description: Boolean representing if an employee's accrued time off hours will be paid out on termination. If accrual_method is unlimited, then paid_out_on_termination must be `false`. + accrual_waiting_period_days: + type: + - integer + - 'null' + description: Number of days before an employee on the policy will begin accruing time off hours. If accrual_method is per_anniversary_year, per_calendar_year, or unlimited, then accrual_waiting_period_days should be 0. + carryover_limit_hours: type: - string - 'null' - description: The first name of the employee. Requires `employees:read` scope. - readOnly: true - preferred_first_name: + description: The max number of hours an employee can carryover from one year to the next. If accrual_method is unlimited, then carryover_limit_hours must be blank. + max_accrual_hours_per_year: type: - string - 'null' - description: The preferred first name of the employee. Requires `employees:read` scope. - readOnly: true - last_name: + description: The max number of hours an employee can accrue in a year. If accrual_method is yearly (per_anniversary_year, per_calendar_year) or unlimited, then max_accrual_hours_per_year must be blank. + max_hours: type: - string - 'null' - description: The last name of the employee. Requires `employees:read` scope. - readOnly: true - gross_pay: + description: The max number of hours an employee can accrue. If accrual_method is unlimited, then max_hours must be blank. + policy_reset_date: type: - - number + - string + - 'null' + description: The date the policy resets. Format MM-DD + complete: + type: boolean + description: boolean representing if a policy has completed configuration + Time-Off-Policy-Request: + type: object + description: Request body for creating a time off policy + allOf: + - "$ref": "#/components/schemas/Time-Off-Policy-Request-Base" + - type: object + required: + - name + - policy_type + - accrual_method + Time-Off-Policy-Update-Request: + type: object + description: Request body for updating a time off policy + allOf: + - "$ref": "#/components/schemas/Time-Off-Policy-Request-Base" + Time-Off-Activity: + type: object + x-examples: + example: + policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 + time_off_type: vacation + policy_name: Paid Time Off + event_type: TimeOffEvent::AddToPolicy + event_description: 'Added to policy: Vacation Per Hour Worked' + effective_time: '2022-09-27T13:43:03.000-07:00' + balance: '0.0' + balance_change: '0.0' + description: Representation of a Time Off Activity + properties: + policy_uuid: + type: + - string + - 'null' + description: unique identifier of a time off policy + time_off_type: + type: string + description: Type of the time off activity + enum: + - vacation + - sick + policy_name: + type: + - string + - 'null' + description: The name of the time off policy for this activity + event_type: + type: string + description: The type of the time off event/activity + event_description: + type: + - string - 'null' - description: The employee's gross pay, equal to regular wages + cash tips + payroll tips + any other additional earnings, excluding imputed income. This value is only available for processed payrolls. - readOnly: true - net_pay: + description: A description for the time off event/activity + effective_time: type: - - number + - string - 'null' - description: The employee's net pay, equal to gross_pay - employee taxes - employee deductions or garnishments - cash tips. This value is only available for processed payrolls. - readOnly: true - check_amount: + description: The datetime of the time off activity + balance: type: - - number + - string - 'null' - description: The employee's check amount, equal to net_pay + reimbursements. This value is only available for processed payrolls. - readOnly: true - payment_method: - description: The employee's compensation payment method. Is *only* `Historical` when retrieving external payrolls initially run outside of Gusto, then put into Gusto. - anyOf: - - type: string - enum: - - Direct Deposit - - Check - - Historical - - type: 'null' - memo: + format: float + description: The time off balance at the time of the activity + balance_change: type: - string - 'null' - description: Custom text that will be printed as a personal note to the employee on a paystub. - readOnly: true - fixed_compensations: - type: array - uniqueItems: false - description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. If this payroll has been processed, only fixed compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active fixed compensations are returned. - items: - type: object - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - amount: - type: string - description: The amount of the compensation for the pay period. - job_uuid: - type: string - description: The UUID of the job for the compensation. - readOnly: true - hourly_compensations: - type: array - uniqueItems: false - description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. If this payroll has been processed, only hourly compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active hourly compensations are returned. - items: - type: object - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - hours: - type: string - description: The number of hours to be compensated for this pay period. - amount: - type: string - description: The amount of the compensation. This field is only available after the payroll is calculated and cannot be used for updating hourly compensations. - job_uuid: - type: string - description: The UUID of the job for the compensation. - readOnly: true - compensation_multiplier: - type: number - description: The amount multiplied by the base rate to calculate total compensation per hour worked. - readOnly: true - flsa_status: - type: string - description: The FLSA Status of the employee's primary job compensation - readOnly: true - paid_time_off: - type: array - uniqueItems: false - description: An array of all paid time off the employee is eligible for this pay period. - items: - type: object - properties: - name: - type: string - description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. - hours: - type: string - description: The hours of this PTO taken during the pay period. - final_payout_unused_hours_input: - type: - - string - - 'null' - description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. - reimbursements: + format: float + description: The amount the time off balance changed as a result of the activity + Time-Off-Activity-List: + type: array + description: A list of time off activities for an employee + items: + "$ref": "#/components/schemas/Time-Off-Activity" + x-examples: + example: + - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 + time_off_type: vacation + policy_name: Paid Time Off + event_type: TimeOffEvent::AddToPolicy + event_description: 'Added to policy: Vacation Per Hour Worked' + effective_time: '2022-09-27T13:43:03.000-07:00' + balance: '0.0' + balance_change: '0.0' + - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 + time_off_type: vacation + policy_name: Paid Time Off + event_type: TimeOffEvent::Accrual + event_description: Accrual + effective_time: '2022-09-27T14:43:03.000-07:00' + balance: '2.0' + balance_change: '2.0' + Holiday-Pay-Policy: + type: object + x-examples: + success_status: + version: 1b37938b017c7fd7116bada007072290 + company_uuid: b7845189-f12b-4378-918a-d2b9de3dc4ea + federal_holidays: + new_years_day: + selected: true + name: New Year's Day + date: January 1 + mlk_day: + selected: true + name: Martin Luther King, Jr. Day + date: Third Monday in January + presidents_day: + selected: false + name: Presidents' Day + date: Third Monday in February + memorial_day: + selected: true + name: Memorial Day + date: Last Monday in May + juneteenth: + selected: false + name: Juneteenth + date: June 19 + independence_day: + selected: true + name: Independence Day + date: July 4 + labor_day: + selected: false + name: Labor Day + date: First Monday in September + columbus_day: + selected: false + name: Columbus Day (Indigenous Peoples' Day) + date: Second Monday in October + veterans_day: + selected: true + name: Veterans Day + date: November 11 + thanksgiving: + selected: true + name: Thanksgiving + date: Fourth Thursday in November + christmas_day: + selected: true + name: Christmas Day + date: December 25 + employees: + - uuid: 1ca3cd25-3eda-48c6-ac88-f0e7fb91a15a + description: Representation of a Holiday Pay Policy + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + company_uuid: + type: string + description: A unique identifier for the company owning the holiday pay policy + federal_holidays: + type: object + description: List of the eleven supported federal holidays and their details + properties: + new_years_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + mlk_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + presidents_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + memorial_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + juneteenth: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + independence_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + labor_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + columbus_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + veterans_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + thanksgiving: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + christmas_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + employees: type: array - uniqueItems: false - description: An array of reimbursements for the employee. + description: List of employee uuids under a holiday pay policy items: type: object properties: - amount: - type: string - description: The dollar amount of the reimbursement for the pay period. - description: - type: - - string - - 'null' - description: The description of the reimbursement. Null for unnamed reimbursements. uuid: - type: - - string - - 'null' - description: The UUID of the reimbursement. Null for unnamed reimbursements. This field is only available for unprocessed payrolls. - readOnly: true - recurring: - type: boolean - description: Whether the reimbursement is recurring. This field is only available for unprocessed payrolls. - readOnly: true - required: - - amount - - description - Payroll-Unprocessed-Employee-Compensations-Type: - allOf: - - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Base-Type" - - "$ref": "#/components/schemas/Versionable" - - type: object - properties: - version: - description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control) for information on how to use this field. - Payroll-Unprocessed: - description: An unprocessed payroll with employee compensations. - x-examples: - success_status: - uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 - employee_compensations: [] - payroll_uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 - company_uuid: 42b5333b-ee39-493a-bf7e-f41f2bd67848 - payroll_status_meta: - cancellable: false - expected_check_date: '2025-06-17' - initial_check_date: '2025-06-17' - expected_debit_time: '2025-06-11T23:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2025-06-11T23:00:00Z' - off_cycle: true - auto_pilot: false - off_cycle_reason: Bonus - withholding_pay_period: Twice per month - skip_regular_deductions: true - fixed_withholding_rate: true - final_termination_payroll: false - processed: false - processed_date: - calculated_at: - pay_period: - start_date: '2025-06-10' - end_date: '2025-06-16' - pay_schedule_uuid: - check_date: '2025-06-17' - external: false - payroll_deadline: '2025-06-11T23:00:00Z' - fixed_compensation_types: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Reimbursement - created_at: '2025-06-11T19:40:52Z' - partner_owned_disbursement: - type: object - properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - employee_compensations: - type: array - uniqueItems: false - items: - "$ref": "#/components/schemas/Payroll-Unprocessed-Employee-Compensations-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - fixed_compensation_types: - "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" - processing_request: - "$ref": "#/components/schemas/Payroll-Processing-Request" - partner_owned_disbursement: - "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" - Token-Info: + type: string + required: + - version + - company_uuid + - federal_holidays + - employees + Holiday-Pay-Policy-Request: type: object + description: Request body for creating or updating a holiday pay policy properties: - scope: - type: string - description: 'Space-separated list of OAuth scopes granted to this access token. - -' - example: companies:read public - resource: - type: - - object - - 'null' - description: | - The resource associated with this access token. Null when - the token has no associated resource. - properties: - type: - type: string - description: 'The type of resource associated with the access token, e.g. `Company` for a company-level token or `Oauth::Application` for a system-level token. - -' - example: Company - uuid: - type: string - format: uuid - description: The UUID of the associated resource - example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - resource_owner: - type: - - object - - 'null' - description: | - The resource owner (user) who authorized this access token. Null for - system-level tokens or when the owner cannot be determined. + federal_holidays: + type: object + description: An object containing federal holiday objects, each containing a boolean selected property. properties: - type: - type: string - enum: - - CompanyAdmin - - Employee - - Contractor - description: | - The type of resource owner: - - `CompanyAdmin`: A company administrator - - `Employee`: An employee - - `Contractor`: A contractor - example: CompanyAdmin - uuid: - type: string - format: uuid - description: The UUID of the resource owner - example: 8fdc31f0-a8a7-4872-a9f1-dcb5e6f876e3 - x-examples: - company_admin_token: - scope: companies:read public - resource: - type: Company - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - resource_owner: - type: CompanyAdmin - uuid: 8fdc31f0-a8a7-4872-a9f1-dcb5e6f876e3 - system_token: - scope: partner_managed_companies:create public - resource: - type: Oauth::Application - uuid: 9c2a1b3d-4e5f-6789-abcd-ef0123456789 - resource_owner: - People-Batch: + new_years_day: + type: object + properties: + selected: + type: boolean + mlk_day: + type: object + properties: + selected: + type: boolean + presidents_day: + type: object + properties: + selected: + type: boolean + memorial_day: + type: object + properties: + selected: + type: boolean + juneteenth: + type: object + properties: + selected: + type: boolean + independence_day: + type: object + properties: + selected: + type: boolean + labor_day: + type: object + properties: + selected: + type: boolean + columbus_day: + type: object + properties: + selected: + type: boolean + veterans_day: + type: object + properties: + selected: + type: boolean + thanksgiving: + type: object + properties: + selected: + type: boolean + christmas_day: + type: object + properties: + selected: + type: boolean + Paid-Holiday: type: object - description: A batch for bulk people creation. + description: A paid holiday derived from the company's holiday pay policy x-examples: success_status: - uuid: 191e7162-3026-497e-aca2-f81b7e93204e - idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 - status: pending - batch_action: create + holiday_name: New Year's Day + holiday_key: new_years_day + start_date: '2023-01-02' + end_date: '2023-01-02' properties: - uuid: - type: string - format: uuid - description: The unique identifier of the people batch. - readOnly: true - idempotency_key: + holiday_key: + type: + - string + - 'null' + description: The holiday's identifier (null for custom holidays) + holiday_name: type: string - format: uuid - description: The idempotency key provided when creating the batch. - status: + description: The holiday's official name + start_date: type: string - enum: - - pending - - processing - - completed - - failed - - partial_success - description: The current status of the batch processing. - batch_action: + description: The holiday's start date (YYYY-MM-DD) + end_date: type: string - description: The action being performed on the batch. - required: - - uuid - - idempotency_key - - status - - batch_action - People-Batch-Results: + description: The holiday's end date (YYYY-MM-DD) + Paid-Holidays: + type: array + description: Representation of a company's paid holidays as described by their holiday pay policy + items: + "$ref": "#/components/schemas/Paid-Holiday" + Event: type: object - description: A people batch with processing results. x-examples: - success_status: - uuid: f711ab7a-2d44-4556-b90c-9f883195f53a - idempotency_key: 95d84feb-3a17-4c0b-a00b-bf8d3dec3326 - status: pending - submitted_at: '2026-03-02T15:09:50-08:00' - completed_at: - submitted_items: - processed_items: 0 - excluded_items: 0 - results: [] + example: + uuid: f7397a24-57ad-4fae-b011-d258e8232900 + event_type: employee.bank_account.created + resource_type: Company + resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + entity_type: BankAccount + entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + timestamp: 1686784995 + description: Representation of an Event properties: uuid: type: string - format: uuid - description: The unique identifier of the people batch. - readOnly: true - idempotency_key: + description: Unique identifier for the event. + event_type: type: string - format: uuid - description: The idempotency key provided when creating the batch. - status: + description: Description of the event (e.g., payroll.submitted, or company.form.signed). + resource_type: type: string enum: - - pending - - processing - - completed - - failed - - partial_success - description: The current status of the batch processing. - submitted_at: + - Company + description: Name of the parent resource of the described entity. + resource_uuid: type: string - format: date-time - description: The timestamp when the batch was submitted. - completed_at: - type: - - string - - 'null' - format: date-time - description: The timestamp when the batch processing completed. - submitted_items: - type: - - integer - - 'null' - description: The number of items submitted in the batch. - processed_items: - type: integer - description: The number of items successfully processed. - excluded_items: + description: Unique identifier for the parent resource. + entity_type: + type: string + description: Name of the entity that the event corresponds to. + entity_uuid: + type: string + description: Unique identifier for the entity. + timestamp: type: integer - description: The number of items excluded from processing. - results: - type: array - description: The results for each batch item. - items: - type: object - properties: - external_id: - type: string - description: The external ID provided in the batch request. - role: - type: string - enum: - - employee - description: The type of person created. - status: - type: string - enum: - - success - - partial_success - - failed - description: The status of this batch item. - idx: - type: integer - description: The index of this item in the original batch request. - uuid: - type: string - format: uuid - description: The UUID of the created person. - employee_uuid: - type: string - format: uuid - description: The UUID of the created employee (if role is employee). - errors: - type: - - array - - 'null' - description: Errors encountered while processing this batch item. - items: - type: object - properties: - error_key: - type: string - description: The key identifying the error source. - category: - type: string - description: The error category. - message: - type: - - string - - 'null' - description: Human-readable error message. - errors: - type: - - array - - 'null' - description: Nested errors for sub-operations. - items: - type: object - exclusions: - type: - - array - - 'null' - description: Items excluded from processing due to validation errors. - items: - type: object - properties: - external_id: - type: string - description: The external ID of the excluded item(s). - category: - type: string - description: The exclusion category. - message: + description: Time at which this event was created. Measured in seconds since the Unix epoch. + required: + - uuid + Event-List: + type: array + description: A list of events + x-examples: + success_status: + - uuid: f7397a24-57ad-4fae-b011-d258e8232900 + event_type: employee.created + resource_type: Company + resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + entity_type: Employee + entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + timestamp: 1686784995 + - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + event_type: company.provisioned + resource_type: Company + resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + entity_type: Company + entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + timestamp: 1686784994 + items: + "$ref": "#/components/schemas/Event" + Invoice-Data: + type: object + x-examples: + example: + active_companies: + - company_uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 + active_employees: 5 + active_contractors: 3 + initial_invoice_period: 2022-01 + - company_uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 + active_employees: 0 + active_contractors: 1 + initial_invoice_period: 2023-05 + description: Representation of a partners invoice data + properties: + active_companies: + type: array + description: The list of companies that are active within the invoice period + items: + type: object + properties: + company_uuid: type: string - description: Human-readable explanation for exclusion. - item_count: + description: unique identifier for the company associated with the invoice data + active_employees: type: integer - description: Number of items affected by this exclusion. - required: - - uuid - - idempotency_key - - status - People-Batch-Conflict-Error: + description: The number of active employees the company was or will be invoiced for that invoice period. Active employees are calculated as the count of onboarded employees hired before the end of the invoice period and not terminated before the start of the invoice period. + active_contractors: + type: integer + description: The number of active contractors the company was or will be invoiced for that invoice period. Active contractors are calculated as any contractor with an active contractor payment during the invoice period. + initial_invoice_period: + type: string + description: The first invoice period for the company. This will either be the invoice period of the first invoice-able event (first payroll or contractor payment) or the date they migrated to embedded, whichever is later. + Information-Request: type: object - description: Error response when a people batch idempotency key conflict occurs. x-examples: - conflict: - errors: - - error_key: idempotency_key - category: invalid_attribute_value - message: Idempotency token already used - metadata: - entity_uuid: 14c53a55-0a80-4d46-a866-f5f64bc06486 - entity_type: PeopleBatch + example: + uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 + company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c + type: account_protection + status: pending_response + blocking_payroll: false + required_questions: [] + information_request_index_item: + uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 + company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c + type: company_onboarding + status: pending_response + blocking_payroll: true + required_questions: + - question_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + question_text: How much wood can a wood chuck chuck? + response_type: text + - question_uuid: b2c3d4e5-f6a7-8901-bcde-f12345678901 + question_text: Please upload supporting documentation + response_type: document + description: Representation of an information request properties: - errors: + uuid: + type: string + description: Unique identifier of an information request + company_uuid: + type: string + description: Unique identifier of the company to which the information requests belongs + type: + description: The type of information request + anyOf: + - type: string + enum: + - company_onboarding + - account_protection + - payment_request + - payment_error + - type: 'null' + status: + type: string + description: The status of the information request + enum: + - pending_response + - pending_review + - approved + blocking_payroll: + type: boolean + description: If true, this information request is blocking payroll, and may require response or requires review from our Risk Ops team. + required_questions: type: array + description: The list of required questions for the information request items: type: object properties: - error_key: + question_uuid: type: string - description: The key identifying the error source. - category: + description: The UUID of the question + question_text: type: string - description: The error category. - message: + description: The text of the question + response_type: type: string - description: Human-readable error message. - metadata: - type: object - properties: - entity_uuid: - type: string - format: uuid - description: The UUID of the existing entity. - entity_type: - type: string - description: The type of the existing entity. + description: The type of response to the question + enum: + - text + - document + - persona + - radio_button + required: + - question_uuid + - question_text + - response_type Recurring-Reimbursement-List: type: array x-examples: @@ -24371,8714 +16514,22242 @@ components: properties: uuid: type: string - description: The unique identifier of this recurring reimbursement. - readOnly: true - employee_uuid: + description: The unique identifier of this recurring reimbursement. + readOnly: true + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + description: + type: string + description: The description of the reimbursement. + amount: + type: string + description: The dollar amount of the reimbursement. + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + created_at: + type: string + description: The timestamp when this reimbursement was created. + readOnly: true + updated_at: + type: string + description: The timestamp when this reimbursement was last updated. + readOnly: true + required: + - uuid + - employee_uuid + - description + - amount + - version + Recovery-Case: + type: object + x-examples: + example: + uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 + company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f + status: open + latest_error_code: R01 + original_debit_date: '2023-10-11' + check_date: '2023-10-13' + payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d + contractor_payment_uuids: + amount_outstanding: 10499.43 + event_total_amount: 5912.07 + recovery_case_index_item: + uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 + company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f + status: open + latest_error_code: R01 + original_debit_date: '2023-10-11' + check_date: '2023-10-13' + payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d + contractor_payment_uuids: + amount_outstanding: '10499.43' + event_total_amount: '5912.07' + description: Representation of a recovery case + properties: + uuid: + type: string + description: Unique identifier of an recovery case + company_uuid: + type: string + description: Unique identifier of the company to which the recovery case belongs + status: + type: string + description: Status of the recovery case + enum: + - open + - redebit_initiated + - wire_initiated + - recovered + - lost + latest_error_code: + type: + - string + - 'null' + description: The latest bank error code for the recovery case. See [this doc](https://docs.gusto.com/embedded-payroll/docs/ach-codes-and-transaction-types) for a list of common ACH return codes. + original_debit_date: + type: + - string + - 'null' + description: Date when funds were originally debited from the company's bank account + check_date: + type: string + description: Check date for the associated payroll or contractor payments + payroll_uuid: + type: + - string + - 'null' + description: The uuid of the associated payroll for which the recovery case was created. If the recovery case was created for a contractor payment, this field will be null. + contractor_payment_uuids: + type: + - array + - 'null' + description: The uuids of the associated contractor payments for which the recovery case was created. If the recovery case was created for a payroll, this field will be null. + items: + type: string + amount_outstanding: + type: string + description: Amount outstanding for the recovery case + event_total_amount: + type: string + description: Total amount to be debited from the payroll or contractor payments + required: + - uuid + Ach-Transaction: + type: object + x-examples: + example: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 456e7890-e12b-34c5-d678-901234567890 + payment_event_type: Payroll + payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 + recipient_type: Employee + recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 + error_code: + transaction_type: Credit employee pay + payment_status: submitted + payment_direction: credit + payment_event_check_date: '2023-10-02' + payment_date: '2023-10-17' + amount: '123.00' + description: PAY 380654 + description: Representation of an ACH transaction + properties: + uuid: + type: string + description: Unique identifier of an ACH transaction + company_uuid: + type: string + description: Unique identifier of the company to which the ACH transaction belongs + payment_event_type: + type: string + description: The type of payment event associated with the ACH transaction + enum: + - Payroll + - ContractorPayment + payment_event_uuid: + type: string + description: Unique identifier for the payment event associated with the ACH transaction + recipient_type: + description: The type of recipient associated with the ACH transaction + anyOf: + - type: string + enum: + - Employee + - Contractor + - type: 'null' + recipient_uuid: + type: string + description: Unique identifier for the recipient associated with the ACH transaction + error_code: + type: + - string + - 'null' + description: The error code associated with the ACH transaction, if any. If there is no error on the ACH transaction, this field will be nil. See [this article](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/) for a complete list of ACH return codes. + transaction_type: type: string - description: The UUID of the employee. - readOnly: true - description: + description: The type of transaction associated with the ACH transaction + payment_status: type: string - description: The description of the reimbursement. - amount: + description: The status of the ACH transaction + enum: + - unsubmitted + - submitted + - successful + - failed + payment_direction: type: string - description: The dollar amount of the reimbursement. - version: + description: The direction of the payment + enum: + - credit + - debit + payment_event_check_date: type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - created_at: + description: The date of the payment event check associated with the ACH transaction + payment_date: type: string - description: The timestamp when this reimbursement was created. - readOnly: true - updated_at: + description: The date of the payment associated with the ACH transaction + amount: type: string - description: The timestamp when this reimbursement was last updated. - readOnly: true + description: The amount of money moved by the ACH transaction. This amount is always non-negative. + description: + type: string + description: The description of the ACH transaction. Can be used to identify the ACH transaction on the recipient's bank statement. required: - uuid - - employee_uuid - - description - - amount - - version - Signatory-Invite-Request: + Ach-Transaction-List: + type: array + items: + "$ref": "#/components/schemas/Ach-Transaction" + x-examples: + example: + - uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 456e7890-e12b-34c5-d678-901234567890 + payment_event_type: Payroll + payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 + recipient_type: Employee + recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 + error_code: + transaction_type: Credit employee pay + payment_status: submitted + payment_direction: credit + payment_event_check_date: '2023-10-02' + payment_date: '2023-10-17' + amount: '123.00' + description: PAY 380654 + Wire-In-Request: type: object - description: Request body for inviting a signatory. + x-examples: + example: + uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 + status: awaiting_funds + origination_bank: JP Morgan Chase + origination_bank_address: 1 Chase Plaza, New York, NY 10081 + recipient_name: Gusto, Inc + recipient_address: 525 20th Street, San Francisco, CA 94107 + recipient_account_number: '21911761' + recipient_routing_number: '123454321' + additional_notes: Additional Notes + bank_name: JP Morgan Chase + date_sent: '2024-06-10' + unique_tracking_code: 1trvxwxp57zf + payment_type: Payroll + payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc + amount_sent: '1014500.00' + requested_amount: '1014500.00' + wire_in_deadline: '2024-06-21T18:00:00Z' + description: Representation of a wire in request properties: - first_name: + uuid: type: string - description: The signatory's first name. - middle_initial: + description: Unique identifier of a wire in request + status: type: string - last_name: + description: Status of the wire in + enum: + - awaiting_funds + - pending_review + - approved + - canceled + origination_bank: type: string - description: The signatory's last name. - title: + description: Name of bank receiving the wire in + origination_bank_address: type: string - description: The signatory's title (e.g. CEO, President). - phone: + description: Address of bank receiving the wire in + recipient_name: type: string - description: The signatory's phone number. - birthday: + description: Name of the recipient of the wire In + recipient_address: type: string - format: date - description: The signatory's date of birth. - email: + description: Address of the recipient of the wire in + recipient_account_number: type: string - format: email - description: The signatory's email address. - ssn: + description: Recipient bank account number + recipient_routing_number: type: string - description: The signatory's SSN. Required for create with complete information; not used for invite. - home_address: - type: object - description: The signatory's home address. - properties: - street_1: - type: string - street_2: - type: string - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - country: - type: string - default: USA - required: - - first_name - - last_name - - email - x-tags: - - Signatories - Signatory-Create-Request: - type: object - description: Request body for creating a signatory with complete information. All listed required fields must be provided. - properties: - first_name: + description: Recipient bank routing number + additional_notes: + type: + - string + - 'null' + description: Notes for the wire in request + bank_name: + type: + - string + - 'null' + description: Name of the bank initiating the wire in + date_sent: + type: + - string + - 'null' + description: Date the wire in was sent + unique_tracking_code: type: string - description: The signatory's first name. - middle_initial: + description: Include in note with bank to track payment + payment_type: type: string - last_name: + description: Type of payment for the wire in + enum: + - Payroll + - ContractorPaymentGroup + payment_uuid: type: string - description: The signatory's last name. - title: + description: Unique identifier of the payment + amount_sent: + type: + - string + - 'null' + description: Amount sent through wire in + requested_amount: type: string - description: The signatory's title (e.g. CEO, President). - phone: + description: Requested amount for the payment + wire_in_deadline: type: string - description: The signatory's phone number. - birthday: + description: Deadline to submit the wire in + Wire-In-Request-List: + type: array + items: + "$ref": "#/components/schemas/Wire-In-Request" + x-examples: + example: + - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + status: awaiting_funds + origination_bank: JP Morgan Chase + origination_bank_address: 1 Chase Plaza, New York, NY 10081 + recipient_name: Gusto, Inc + recipient_address: 525 20th Street, San Francisco, CA 94107 + recipient_account_number: '21911761' + recipient_routing_number: '123454321' + additional_notes: + bank_name: + date_sent: + unique_tracking_code: 1trvxwxp57zf + payment_type: Payroll + payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc + amount_sent: + requested_amount: '1014500.00' + wire_in_deadline: '2024-06-21T18:00:00Z' + - uuid: a47fc11d-8d92-4b3e-9f2a-3a23b9d8e7d1 + status: awaiting_funds + origination_bank: JP Morgan Chase + origination_bank_address: 1 Chase Plaza, New York, NY 10081 + recipient_name: Gusto, Inc + recipient_address: 525 20th Street, San Francisco, CA 94107 + recipient_account_number: '21911761' + recipient_routing_number: '123454321' + additional_notes: + bank_name: + date_sent: + unique_tracking_code: 6kfhwxq2crsm + payment_type: ContractorPaymentGroup + payment_uuid: 8b6c3d70-9b8e-4d4d-b6a1-a1f3a6d9b2c4 + amount_sent: + requested_amount: '15000.00' + wire_in_deadline: '2024-06-21T18:00:00Z' + Wire-In-Request-Update-Request-Body: + type: object + properties: + date_sent: type: string - format: date - description: The signatory's date of birth. - email: + description: The date the wire was sent + example: '2024-06-10' + bank_name: + type: string + description: Name of the bank sending the wire + example: Chase + amount_sent: type: string - format: email - description: The signatory's email address. - ssn: + description: Amount of money sent + example: '314500.00' + additional_notes: type: string - description: The signatory's SSN. - home_address: - type: object - description: The signatory's home address. - properties: - street_1: - type: string - street_2: - type: string - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - country: - type: string - default: USA - required: - - street_1 - - city - - state - - zip + description: Additional notes + example: Wire for 2024-06-15 payroll. required: - - first_name - - last_name - - email - - title - - phone - - birthday - - ssn - - home_address - x-tags: - - Signatories - Signatory-Update-Request: + - date_sent + - bank_name + - amount_sent + Payroll-Sync: type: object - description: Request body for updating a signatory. Email cannot be updated. + description: Record representing the sync of time sheet data to payroll. properties: - version: + uuid: type: string - description: Current version of the signatory (required for optimistic concurrency). - first_name: + format: uuid + description: Unique identifier of the payroll sync. + example: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: type: string - middle_initial: + format: uuid + description: Unique identifier of the company to which the payroll sync belongs. + example: 123e4567-e89b-12d3-a456-426655440001 + status: type: string - last_name: + readOnly: true + enum: + - pending + - in_progress + - success + - failure + - partial_success + description: | + The current status of the payroll sync. READ-ONLY. + + ## State Transitions + ``` + pending ──────► in_progress ──────► success + ├─────► failure + └─────► partial_success + ``` + + ### Valid Transitions + - `pending` → `in_progress`: Automatic when processing begins + - `in_progress` → `success`: All time sheet data synced successfully + - `in_progress` → `failure`: Sync failed entirely + - `in_progress` → `partial_success`: Some members failed to sync + example: pending + kind: type: string - title: + enum: + - regular + description: | + The kind of payroll sync. + - `regular`: A regular payroll sync + example: regular + pay_schedule_uuid: type: string - phone: + format: uuid + description: Unique identifier of the pay schedule associated with this sync. + example: 123e4567-e89b-12d3-a456-426655440002 + pay_period_start_date: type: string - birthday: + format: date + description: The start date of the pay period per ISO 8601 format. + example: '2025-01-01' + pay_period_end_date: type: string format: date - ssn: + description: The end date of the pay period per ISO 8601 format. + example: '2025-01-15' + submitted_at: type: string - description: The signatory's SSN. - home_address: - type: object - properties: - street_1: - type: string - street_2: - type: string - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - country: - type: string - required: - - version - x-tags: - - Signatories - Payment-Configs-Update-Request: - type: object - description: Request body for updating company payment configs. At least one of payment_speed, fast_payment_limit, or partner_owned_disbursement is required. - properties: - payment_configs: - type: object - properties: - payment_speed: - type: string - enum: - - 1-day - - 2-day - - 4-day - description: Desired payment speed. 1-day is only applicable to partners that opt in. - fast_payment_limit: - type: - - number - - 'null' - description: Payment limit for 1-day or 2-day payroll (in dollars). - partner_owned_disbursement: - type: boolean - description: Whether to use the partner-owned disbursement payment rail. + format: date-time + description: Datetime for when the payroll sync was submitted. + example: '2025-01-16T12:00:00Z' + completed_at: + type: + - string + - 'null' + format: date-time + description: Datetime for when the payroll sync completed. Null if the sync is still in progress. + example: '2025-01-16T13:00:00Z' + errors: + type: array + description: Errors encountered during the sync, if any. Each error follows the standard entity error format. + items: + "$ref": "#/components/schemas/Entity-Error-Object" + warnings: + type: array + description: Warnings encountered during the sync, if any. + items: + type: string x-examples: - update_payment_speed_and_limit: - payment_configs: - payment_speed: 2-day - fast_payment_limit: 1000 - update_payment_speed_only: - payment_configs: - payment_speed: 4-day - Company-Bank-Account-Verify-Request: + pending_sync: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 123e4567-e89b-12d3-a456-426655440001 + status: pending + kind: regular + pay_schedule_uuid: 123e4567-e89b-12d3-a456-426655440002 + pay_period_start_date: '2025-01-01' + pay_period_end_date: '2025-01-15' + submitted_at: '2025-01-16T12:00:00Z' + completed_at: + completed_sync: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 123e4567-e89b-12d3-a456-426655440001 + status: success + kind: regular + pay_schedule_uuid: 123e4567-e89b-12d3-a456-426655440002 + pay_period_start_date: '2025-01-01' + pay_period_end_date: '2025-01-15' + submitted_at: '2025-01-16T12:00:00Z' + completed_at: '2025-01-16T13:00:00Z' + Payroll-Sync-Create-Request-Body: type: object - description: Request body for verifying a company bank account with the two micro-deposit amounts. required: - - deposit_1 - - deposit_2 + - kind + - pay_schedule_uuid + - pay_period_start_date + - pay_period_end_date properties: - deposit_1: - type: number - format: float - description: The first micro-deposit amount (order does not matter). - deposit_2: - type: number - format: float - description: The second micro-deposit amount (order does not matter). - I9-Authorization-Request-Body: - description: Request body for creating or updating an employee's I-9 authorization. + kind: + type: string + enum: + - regular + description: | + The kind of payroll sync. + - `regular`: A regular payroll sync + example: regular + pay_schedule_uuid: + type: string + format: uuid + description: Unique identifier of the pay schedule to sync time sheets for. + example: 123e4567-e89b-12d3-a456-426614174000 + pay_period_start_date: + type: string + format: date + description: The start date of the pay period per ISO 8601 format. + example: '2025-01-01' + pay_period_end_date: + type: string + format: date + description: The end date of the pay period per ISO 8601 format. + example: '2025-01-15' + Time-Sheet: type: object + x-examples: + example: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 123e4567-e89b-12d3-a456-426655440000 + status: approved + time_zone: America/Los_Angeles + entity_type: Employee + version: 72deb67e16f7b92713c00d3582fa6c68 + job_uuid: 123e4567-e89b-12d3-a456-426655440000 + entity_uuid: 123e4567-e89b-12d3-a456-426655440000 + shift_started_at: '2025-03-04T13:07:10Z' + shift_ended_at: '2025-03-04T16:07:10Z' + created_at: '2025-04-29T16:08:53Z' + updated_at: '2025-04-29T16:08:53Z' + metadata: {} + entries: + - uuid: 123e4567-e89b-12d3-a456-426655440000 + hours_worked: '1.000' + pay_classification: Regular + - uuid: 123e4567-e89b-12d3-a456-426655440000 + hours_worked: '1.000' + pay_classification: Overtime + - uuid: 123e4567-e89b-12d3-a456-426655440000 + hours_worked: '1.000' + pay_classification: Double overtime + description: Record representing an employee/contractor's time sheet properties: - version: + uuid: type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. If supplied, this endpoint will update the existing I-9 authorization if it exists. - authorization_status: + description: Unique identifier of the time sheet. + status: type: string - description: | - The employee's authorization status. - - `citizen`: A citizen is someone who was born in the United States or is a naturalized citizen living in the United States. - - `noncitizen`: A noncitizen national is someone born in American Samoa, certain former citizens of the former Trust Territory of the Pacific Islands, and certain children of noncitizen nationals born abroad. - - `permanent_resident`: A lawful permanent resident is someone who is not a US citizen and who resides under legally recognized and lawfully recorded permanent residence as an immigrant. - - `alien`: Also referred to as a "noncitizen authorized to work". This includes anyone who is authorized to work in the United States but is not a US citizen, US national or lawful permanent resident. + description: Status of the time sheet. enum: - - citizen - - noncitizen - - permanent_resident - - alien - document_type: + - pending + - rejected + - approved + company_uuid: type: string - description: | - The type of document an employee holds, based on their authorization status. - - This is unused for authorization status `citizen` or `noncitizen`. - - If the authorization status is `permanent_resident`, this must be `uscis_alien_registration_number`. - - If the authorization status is `alien`, this is required and may be any of the valid values. + description: Unique identifier of the company to which the time sheet belongs. + time_zone: + type: string + description: Time zone of where the time was tracked. + entity_type: + type: string + description: Type of entity associated with the time sheet. enum: - - uscis_alien_registration_number - - form_i94 - - foreign_passport - document_number: + - Employee + - Contractor + entity_uuid: type: string - description: | - The document number. Formatting depends on the employee's document type. - - For `document_type:'uscis_alien_registration_number'`, this must be a USCIS Number/A-Number, which is 7 to 9 digits. - - For `document_type:'form_i94'`, this must be a Form I-94 Admission Number, which is 11 digits. - - For `document_type:'foreign_passport'`, this must be the passport number. - - This is required when the document type is present. - country: + description: Unique identifier of the entity associated with the time sheet. + version: type: string - description: | - The document's country of issuance. - - This is required when the document type is `foreign_passport`. - expiration_date: + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/app-integrations/docs/idempotency) for information on how to use this field. + job_uuid: type: string - description: | - The document's expiration date. - - This may only be used when the authorization status is `alien`. - required: - - authorization_status - x-examples: - create_citizen: - authorization_status: citizen - update_alien_with_foreign_passport: - version: 52b7c567242cb7393b2a206ed6a86afcb - authorization_status: alien - document_type: foreign_passport - document_number: '01234567' - country: Canada - expiration_date: '2028-01-01' - I9-Authorization-Employer-Sign-Request-Body: - description: Request body for employer signing an employee's Form I-9. - type: object - properties: - signature_text: + description: Unique identifier of the job for which time was reported. + shift_started_at: type: string - description: The signature - signer_title: + format: date-time + description: The start time of the shift. + shift_ended_at: type: string - description: The signer's job title - signed_by_ip_address: + format: date-time + description: The end time of the shift. If the shift is still ongoing this field will be null. + created_at: type: string - description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. - agree: - type: boolean - description: Whether you agree to sign electronically - additional_info: + format: date-time + description: Datetime for when time sheet was created. + updated_at: type: string - description: Any additional notes - alt_procedure: - type: boolean - description: Whether an alternative procedure authorized by DHS to examine documents was used - required: - - signature_text - - signer_title - - agree - x-examples: - employer_sign: - signature_text: Jane Doe - signer_title: Admin - signed_by_ip_address: 192.168.0.1 - agree: true - I9-Authorization-Documents-Request-Body: - description: Request body for creating an employee's I-9 authorization verification documents. - type: object - properties: - documents: + format: date-time + description: Datetime for when time sheet was updated. + synced_to_payroll_at: + type: + - string + - 'null' + format: date-time + description: Datetime for when time sheet was synced to payroll. Null if the time sheet has not yet been synced to payroll. + metadata: + type: object + additionalProperties: + type: string + maxLength: 500 + propertyNames: + type: string + maxLength: 40 + maxProperties: 50 + description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. + entries: type: array - description: An array of I-9 verification documents. Every request must contain the complete list of documents for the employee, as previous records are replaced. + description: Entries associated with the time sheet. items: type: object properties: - document_type: + uuid: type: string - description: The document type. Use the document options endpoint to get the possible values. - example: us_passport - document_title: + description: Unique identifier of the entry. + hours_worked: type: string - description: The document title associated with the document type - example: US Passport - document_number: + format: float + description: Hours worked for this pay classification. Represented as a string, e.g. "1.500". + pay_classification: type: string - description: The document's document number - example: F12345678 - expiration_date: + description: Pay classification for the entry. + enum: + - Regular + - Overtime + - Double overtime + Time-Sheet-Create-Body: + type: object + description: Request body for creating a time sheet. + required: + - entity_uuid + - entity_type + - time_zone + - shift_started_at + properties: + entity_uuid: + type: string + description: Unique identifier of the entity associated with the time sheet. + entity_type: + type: string + description: Type of entity associated with the time sheet. + job_uuid: + type: string + description: Unique identifier of the job for which time is tracked. + time_zone: + type: string + description: Time zone of where the time is tracked. + shift_started_at: + type: string + format: date-time + description: ISO 8601 timestamp of when the shift was started. + shift_ended_at: + type: string + format: date-time + description: ISO 8601 timestamp of when the shift was ended. If the shift is still ongoing you can omit this field. + metadata: + type: object + additionalProperties: + type: string + maxLength: 500 + propertyNames: + type: string + maxLength: 40 + maxProperties: 50 + description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. + entries: + type: array + description: Entries associated with the time sheet. + items: + type: object + properties: + hours_worked: + type: number + format: float + maxDecimalPlaces: 3 + minimum: 0.001 + description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. + pay_classification: + type: string + description: Pay classification for the entry. + enum: + - Regular + - Overtime + - Double overtime + x-examples: + Example: + entity_uuid: 123e4567-e89b-12d3-a456-426614174000 + entity_type: Employee + job_uuid: 123e4567-e89b-12d3-a456-426614174000 + time_zone: America/New_York + shift_started_at: '2024-06-10T09:00:00Z' + shift_ended_at: '2024-06-10T17:00:00Z' + metadata: + custom_field: custom value + entries: + - pay_classification: Regular + hours_worked: 1.5 + x-tags: + - Time Tracking + Time-Sheet-Update-Body: + type: object + description: Request body for updating a time sheet. + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + entity_uuid: + type: string + description: Unique identifier of the entity associated with the time sheet. + example: 123e4567-e89b-12d3-a456-426614174000 + entity_type: + type: string + description: Type of entity associated with the time sheet. + example: Employee + job_uuid: + type: string + description: Unique identifier of the job for which time was tracked. Currently is only supported for employees. + example: 123e4567-e89b-12d3-a456-426614174000 + time_zone: + type: string + description: Time zone of where the time was tracked. + example: America/New_York + shift_started_at: + type: string + format: date-time + description: The start time of the shift. Timestamp should be in ISO8601 + example: '2024-06-10T09:00:00Z' + shift_ended_at: + type: string + format: date-time + description: The end time of the shift. If the shift is still ongoing this will be null. + example: '2024-06-10T17:00:00Z' + metadata: + type: object + additionalProperties: type: string - description: The document's expiration date - example: '2026-01-01' - issuing_authority: + maxLength: 500 + propertyNames: type: string - description: The document's issuing authority - example: USA - required: - - document_type - - document_title - - issuing_authority - required: - - documents + maxLength: 40 + maxProperties: 50 + description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. + entries: + type: array + description: Entries associated with the time sheet. + items: + type: object + properties: + uuid: + type: string + description: Unique identifier of the entry. + hours_worked: + type: number + format: float + maxDecimalPlaces: 3 + minimum: 0.001 + description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. + pay_classification: + type: string + description: Pay classification for the entry. + enum: + - Regular + - Overtime + - Double overtime x-examples: - create_documents: - documents: - - document_type: us_passport - document_title: US passport - document_number: F12345678 - expiration_date: '2035-04-01' - issuing_authority: US Department of State - Pay-Schedule-Version: - type: string - description: The current version of the pay schedule. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control) for information on how to use this field for optimistic concurrency. - readOnly: true - Pay-Schedule-Auto-Payroll: - type: boolean - description: | - With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. - Returned for API version 2025-11-15 and later; for earlier versions the response uses auto_pilot instead. - Pay-Schedule-Auto-Payroll-Enablement-Blockers: - type: - - array - - 'null' - description: List of blockers preventing automatic payroll from being enabled. If automatic payroll is already enabled, this field is null. - items: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blocker" - Pay-Schedule-Auto-Payroll-Enablement-Blocker: + Example: + version: 72deb67e16f7b92713c00d3582fa6c68 + entity_uuid: 123e4567-e89b-12d3-a456-426614174000 + entity_type: Employee + job_uuid: 123e4567-e89b-12d3-a456-426614174000 + time_zone: America/New_York + shift_started_at: '2024-06-10T09:00:00Z' + shift_ended_at: '2024-06-10T17:00:00Z' + metadata: + custom_field: custom value + entries: + - uuid: 123e4567-e89b-12d3-a456-426614174000 + hours_worked: 1.5 + x-tags: + - Time Tracking + Company-Suspension: type: object - description: A single blocker preventing Autopayroll enablement. - properties: - key: - type: string - description: The blocker type (e.g. employees_not_on_direct_deposit, employees_not_salaried, missing_funding_method, missing_state_tax_requirements, one_day_ach_speed_not_supported, company_suspended, earned_fast_ach_not_met). - metadata: - type: object - description: Blocker-specific metadata (e.g. employee_uuids, states). - Pay-Schedule-List: - type: array - description: List of pay schedules for a company. The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. - items: - "$ref": "#/components/schemas/Pay-Schedule-Show" + description: Record representing the suspension of a company's Gusto account. x-examples: - success_status: - - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Monthly - anchor_pay_date: '2022-12-11' - anchor_end_of_pay_period: '2022-11-13' - day_1: 11 - day_2: - name: - custom_name: every 11th of the month - auto_payroll: true - active: true - Pay-Schedule-Preview-Pay-Period: - type: object - description: A single pay period in a pay schedule preview, with check date, period boundaries, and payroll deadline. - required: - - check_date - - start_date - - run_payroll_by - - end_date + switching_provider: + uuid: ade4528c-6cc4-4bd5-917a-9d636317e7d6 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: switching_provider + leaving_for: adp + reconcile_tax_method: refund_taxes + file_yearly_forms: false + file_quarterly_forms: false + comments: + tax_refunds: [] + shutting_down: + uuid: 5f04b8d0-1a41-40c6-9f5e-10b26ed89729 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: shutting_down + leaving_for: + reconcile_tax_method: pay_taxes + file_yearly_forms: true + file_quarterly_forms: true + comments: + tax_refunds: [] properties: - check_date: - type: string - format: date - description: The payment date, "Check date", for the pay period. - start_date: + uuid: type: string - format: date - description: The first day of the pay period. - run_payroll_by: + description: Unique identifier for this suspension. + company_uuid: type: string - format: date - description: The deadline to run payroll for direct deposit on the check date. - end_date: + description: Unique identifier for the company which is suspended. + effective_date: type: string - format: date - description: The last day of the pay period. - Pay-Schedule-Preview: - type: object - description: | - Preview of pay schedule dates for the next 18 months. Use this to show partners expected pay dates, pay period boundaries, and payroll deadlines before they create or change a pay schedule. See [Preview pay schedule dates](https://docs.gusto.com/embedded-payroll/reference/get-v1-companies-company_id-pay_schedules-preview) for usage. - - - **pay_periods**: One entry per pay period in the range; each includes check_date, start_date, end_date, and run_payroll_by. - - **holidays**: Observed bank holidays (ISO date strings) that may affect payroll timing. - x-examples: - success_status: - pay_periods: - - check_date: '2022-01-15' - start_date: '2022-01-01' - run_payroll_by: '2022-01-14' - end_date: '2022-01-15' - - check_date: '2022-01-31' - start_date: '2022-01-16' - run_payroll_by: '2022-01-30' - end_date: '2022-01-31' - holidays: - - '2022-01-01' - - '2022-01-17' - properties: - pay_periods: - type: array - description: A list of pay periods for the previewed pay schedule (default range is 18 months from today, or up to end_date when provided). - items: - "$ref": "#/components/schemas/Pay-Schedule-Preview-Pay-Period" - holidays: - type: array - description: A list of dates for bank closures (ISO date strings); may affect payroll processing. - items: - type: string - format: date - Pay-Schedule-Date-Input: - type: string - format: date - description: ISO 8601 date (YYYY-MM-DD). Required for anchor and period dates in create, update, and preview requests. - Pay-Schedule-Create-Request: - type: object - description: | - Request body for creating a pay schedule. Required when a company has no pay schedules (onboarding) or when adding an additional schedule. Be sure to [check state laws](https://www.dol.gov/agencies/whd/state/payday) to know what schedule is right for your customers. - - - **anchor_pay_date**: The first date that employees on this pay schedule will be paid (first company payday). - - **anchor_end_of_pay_period**: The last date of the first pay period; can be the same as anchor_pay_date. - example: - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - custom_name: demo pay schedule - properties: - frequency: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" - example: Twice per month - anchor_pay_date: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" - example: '2020-05-15' - anchor_end_of_pay_period: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" - example: '2020-05-08' - day_1: + description: Date that the suspension took effect. + leaving_for: type: - - integer + - string - 'null' - example: 15 - description: | - An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + description: Which competitor the company is joining instead. Only required if `reason` is `'switching_provider'`. + reason: + type: string + description: Explanation for why the company's account was suspended. + reconcile_tax_method: + type: string + description: How Gusto will handle taxes already collected. + enum: + - pay_taxes + - refund_taxes + file_quarterly_forms: + type: boolean + description: 'Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. - On create: required for Twice per month and Monthly; omit or null for Every week and Every other week. - day_2: - type: - - integer - - 'null' - example: 31 - description: | - An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. +' + file_yearly_forms: + type: boolean + description: 'Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. - On create: only for Twice per month; omit or null for other frequencies. - custom_name: +' + comments: type: - string - 'null' - example: demo pay schedule - description: | - A custom pay schedule name; defaults to the pay frequency description when null or omitted. + description: User-supplied comments describing why they are suspending their account. + tax_refunds: + type: array + description: 'Describes the taxes which are refundable to the company for this suspension. These may be refunded or paid by Gusto depending on the value in `reconcile_tax_method`. - When null or omitted, the system generates a description from the pay frequency and pay days (e.g. "every 1st and 15th of the month" for twice-monthly, "every 11th of the month" for monthly, "every Friday" for weekly). The response returns this generated value in `custom_name` when no custom name was set. When provided, the value you set is stored and returned. - required: - - frequency - - anchor_pay_date - - anchor_end_of_pay_period - Pay-Schedule-Update-Request: +' + items: + type: object + properties: + amount: + type: string + description: Dollar amount. + description: + type: string + description: What kind of tax this is. + Company-Suspension-List: + type: array + description: List of suspension records for a company. + items: + "$ref": "#/components/schemas/Company-Suspension" + x-examples: + success_status: + - uuid: 3bd0fa7c-071e-4e85-a6bf-f73a69797694 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: shutting_down + leaving_for: + reconcile_tax_method: refund_taxes + file_yearly_forms: false + file_quarterly_forms: false + comments: + tax_refunds: [] + - uuid: 2ad79a4e-2fbd-43ca-a77b-e9049e6cab15 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: switching_provider + leaving_for: adp + reconcile_tax_method: refund_taxes + file_yearly_forms: false + file_quarterly_forms: false + comments: Company is transitioning to ADP for their payroll and HR needs + tax_refunds: [] + Company-Suspension-Creation-Errors: type: object - description: Request body for updating a pay schedule. Sent in the pay_schedule_update root key. Version is required for optimistic concurrency. Pay schedules may be automatically adjusted if an onboarded company misses their first pay date; see [Create a pay schedule](https://docs.gusto.com/embedded-payroll/docs/create-a-pay-schedule). - example: - version: 68934a3e9455fa72420237eb05902327 - auto_payroll: true - frequency: Twice per month - anchor_pay_date: '2021-10-15' - anchor_end_of_pay_period: '2021-10-15' - day_1: 15 - day_2: 31 - custom_name: demo pay schedule + allOf: + - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-examples: + missing_required_fields: + errors: + - error_key: reconcile_tax_method + category: invalid_attribute_value + message: Reconcile tax method is required + - error_key: reason + category: invalid_attribute_value + message: Reason is required + - error_key: file_yearly_forms + category: invalid_attribute_value + message: File yearly forms is required + gusto_com_requires_support: + errors: + - error_key: leaving_for + category: invalid_attribute_value + message: Switching to Gusto.com must be processed by our Customer Support team + leaving_for_required: + errors: + - error_key: leaving_for + category: invalid_attribute_value + message: Leaving for is required when switching providers + switching_provider_cannot_pay_taxes: + errors: + - error_key: reconcile_tax_method + category: invalid_attribute_value + message: Reconcile tax method must be refund_taxes when switching to a new payroll provider + pay_taxes_requires_quarterly_filing: + errors: + - error_key: file_quarterly_forms + category: invalid_attribute_value + message: File quarterly forms must be true when paying withheld taxes + Time-Off-Request: + type: object + description: The representation of a time off request. + x-examples: + success_status: + uuid: 9145390f-0431-45ee-b8a0-6e7a8850d4cf + status: approved + employee_note: Vacation at Disney World! + employer_note: But Universal has Harry Potter World... + days: + '2019-06-01': '4.000' + '2019-06-02': '8.000' + '2019-06-03': '2.000' + request_type: vacation + policy_type: vacation + policy_uuid: ae382963-06b2-4b57-9780-8feda862bb70 + employee: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Karen Gusto + initiator: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto properties: - version: + uuid: type: string - example: 68934a3e9455fa72420237eb05902327 - description: Current version of the pay schedule from the GET response; required for optimistic concurrency. Mismatch returns 409 Conflict. - auto_payroll: - type: boolean - example: true - description: | - With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically and must be run manually. - For API versions before 2025-11-15 the request field is auto_pilot. - frequency: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" - example: Twice per month - anchor_pay_date: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" - example: '2020-05-15' - anchor_end_of_pay_period: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" - example: '2020-05-08' - day_1: + description: The UUID of the time off request. + readOnly: true + status: + type: string + description: The status of the time off request. + enum: + - pending + - approved + - declined + - consumed + readOnly: true + employee_note: + type: string + description: A note about the time off request, from the employee to the employer. + readOnly: true + employer_note: + type: string + description: A note about the time off request, from the employer to the employee. + readOnly: true + request_type: + type: string + description: The type of time off request. + deprecated: true + enum: + - vacation + - sick + readOnly: true + policy_type: + type: string + description: The type of the time off policy (e.g. vacation, sick). + readOnly: true + policy_uuid: type: - - integer + - string - 'null' - example: 15 - description: 'An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. - -' - day_2: + description: The UUID of the time off policy associated with this request. + readOnly: true + days: + description: An object that represents the days in the time off request. The keys of the object are the dates, formatted as a YYYY-MM-DD string. The values of the object are the number of hours requested off for each day, formatted as a string representation of a numeric decimal to the thousands place. + type: object + readOnly: true + employee: + type: object + description: '' + properties: + uuid: + type: string + description: The UUID of the employee the time off request is for. + readOnly: true + full_name: + type: string + description: The full name of the employee the time off request is for. + readOnly: true + readOnly: true + initiator: type: - - integer + - object - 'null' - example: 31 - description: 'An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. - -' - custom_name: + description: '' + properties: + uuid: + type: string + description: The UUID of the employee who initiated the time off request. + readOnly: true + full_name: + type: string + description: The full name of the employee who initiated the time off request. + readOnly: true + readOnly: true + approver: type: - - string + - object - 'null' - example: demo pay schedule - description: A custom pay schedule name; null clears any custom name so the default frequency description applies. - required: - - version - Payroll-Sync: + description: This value will be null if the request has not been approved. + properties: + uuid: + type: string + description: The UUID of the employee who approved the time off request. + readOnly: true + full_name: + type: string + description: The full name of the employee who approved the time off request. + readOnly: true + readOnly: true + Time-Off-Request-List: + type: array + items: + "$ref": "#/components/schemas/Time-Off-Request" + x-examples: + success_status: + - uuid: 9145390f-0431-45ee-b8a0-6e7a8850d4cf + status: approved + employee_note: Vacation at Disney World! + employer_note: But Universal has Harry Potter World... + days: + '2019-06-01': '4.000' + '2019-06-02': '8.000' + '2019-06-03': '2.000' + request_type: vacation + policy_type: vacation + policy_uuid: ae382963-06b2-4b57-9780-8feda862bb70 + employee: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Karen Gusto + initiator: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + - uuid: 944cbbf4-8b13-4c45-babd-11ff13e17581 + status: pending + employee_note: Coming down with the flu + employer_note: '' + days: + '2019-02-01': '8.000' + request_type: sick + policy_type: sick + policy_uuid: bf493c7e-1a2d-4e5f-8c9a-3d7b6e4f2a1c + employee: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Gusto + approver: + initiator: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Gusto + Embedded-Time-Off-Request: type: object - description: Record representing the sync of time sheet data to payroll. + description: The representation of a time off request. + required: + - uuid + - status + - employee_note + - employer_note + - policy_type + - policy_uuid + - days + - employee + - initiator + - approver + x-examples: + success_status: + uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: pending + employee_note: Family vacation + employer_note: + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approved_status: + uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: approved + employee_note: Family vacation + employer_note: + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Morgan Chen + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + declined_status: + uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: declined + employee_note: Family vacation + employer_note: Not enough coverage + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson properties: uuid: type: string - format: uuid - description: Unique identifier of the payroll sync. - example: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: - type: string - format: uuid - description: Unique identifier of the company to which the payroll sync belongs. - example: 123e4567-e89b-12d3-a456-426655440001 + description: The UUID of the time off request. + example: ad158cfb-99e4-4741-9db3-0bd3a267f222 + readOnly: true status: type: string - readOnly: true - enum: - - pending - - in_progress - - success - - failure - - partial_success - description: | - The current status of the payroll sync. READ-ONLY. - - ## State Transitions - ``` - pending ──────► in_progress ──────► success - ├─────► failure - └─────► partial_success - ``` - - ### Valid Transitions - - `pending` → `in_progress`: Automatic when processing begins - - `in_progress` → `success`: All time sheet data synced successfully - - `in_progress` → `failure`: Sync failed entirely - - `in_progress` → `partial_success`: Some members failed to sync + description: The status of the time off request. example: pending - kind: - type: string enum: - - regular - description: | - The kind of payroll sync. - - `regular`: A regular payroll sync - example: regular - pay_schedule_uuid: - type: string - format: uuid - description: Unique identifier of the pay schedule associated with this sync. - example: 123e4567-e89b-12d3-a456-426655440002 - pay_period_start_date: - type: string - format: date - description: The start date of the pay period per ISO 8601 format. - example: '2025-01-01' - pay_period_end_date: - type: string - format: date - description: The end date of the pay period per ISO 8601 format. - example: '2025-01-15' - submitted_at: - type: string - format: date-time - description: Datetime for when the payroll sync was submitted. - example: '2025-01-16T12:00:00Z' - completed_at: + - pending + - approved + - declined + - consumed + readOnly: true + employee_note: type: - string - 'null' - format: date-time - description: Datetime for when the payroll sync completed. Null if the sync is still in progress. - example: '2025-01-16T13:00:00Z' - errors: - type: array - description: Errors encountered during the sync, if any. Each error follows the standard entity error format. - items: - "$ref": "#/components/schemas/Entity-Error-Object" - warnings: - type: array - description: Warnings encountered during the sync, if any. - items: - type: string - x-examples: - pending_sync: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440001 - status: pending - kind: regular - pay_schedule_uuid: 123e4567-e89b-12d3-a456-426655440002 - pay_period_start_date: '2025-01-01' - pay_period_end_date: '2025-01-15' - submitted_at: '2025-01-16T12:00:00Z' - completed_at: - completed_sync: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440001 - status: success - kind: regular - pay_schedule_uuid: 123e4567-e89b-12d3-a456-426655440002 - pay_period_start_date: '2025-01-01' - pay_period_end_date: '2025-01-15' - submitted_at: '2025-01-16T12:00:00Z' - completed_at: '2025-01-16T13:00:00Z' - Payroll-Sync-Create-Request-Body: - type: object - required: - - kind - - pay_schedule_uuid - - pay_period_start_date - - pay_period_end_date - properties: - kind: - type: string - enum: - - regular - description: | - The kind of payroll sync. - - `regular`: A regular payroll sync - example: regular - pay_schedule_uuid: - type: string - format: uuid - description: Unique identifier of the pay schedule to sync time sheets for. - example: 123e4567-e89b-12d3-a456-426614174000 - pay_period_start_date: - type: string - format: date - description: The start date of the pay period per ISO 8601 format. - example: '2025-01-01' - pay_period_end_date: - type: string - format: date - description: The end date of the pay period per ISO 8601 format. - example: '2025-01-15' - Jobs-Body: - type: object - properties: - title: + description: A note about the time off request, from the employee to the employer. + example: Family vacation + readOnly: true + employer_note: type: - string - 'null' - description: The job title. - example: Regional Manager - hire_date: - type: string - description: The date when the employee was hired or rehired for the job. - example: '2020-12-21' - two_percent_shareholder: - type: boolean - description: Whether the employee owns at least 2% of the company. - state_wc_covered: + description: A note about the time off request, from the employer to the employee. + example: + readOnly: true + policy_type: type: - - boolean + - string - 'null' - description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). - state_wc_class_code: + description: The type of the time off policy (e.g. vacation, sick). + example: vacation + readOnly: true + policy_uuid: type: - string - 'null' - description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. - Jobs-Create-Request-Body: - description: Request body for creating a job. - type: object - required: - - title - - hire_date - allOf: - - "$ref": "#/components/schemas/Jobs-Body" - x-examples: - create_job: - title: Regional Manager - hire_date: '2020-12-21' - two_percent_shareholder: false - Jobs-Update-Request-Body: - description: Request body for updating a job. - type: object - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Jobs-Body" - x-examples: - update_job: - version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir - title: Regional Manager - hire_date: '2020-12-21' - Federal-Tax-Details-Update: - title: Federal-Tax-Details-Update - type: object - required: - - version - properties: - version: - type: string - example: 6cb95e00540706ca48d4577b3c839fbe - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - legal_name: - type: string - example: Acme Corp. - description: The legal name of the company - ein: - type: string - example: '123456789' - description: The company's Employer Identification Number (EIN). Must be 9 digits. Dashes are optional (e.g., '12-3456789' or '123456789'). - tax_payer_type: - type: string - example: LLP - enum: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - description: |- - What type of tax entity the company is. One of: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - filing_form: - type: string - example: '944' - enum: - - '941' - - '944' - description: |- - The form used by the company for federal tax filing. One of: - - 941 (Quarterly federal tax return form) - - 944 (Annual federal tax return form) - taxable_as_scorp: - type: boolean - example: false - description: Whether the company is taxed as an S-Corporation - x-tags: - - Federal Tax Details - Tax-Requirement-States-List: - type: array - x-examples: - success_status: - - state: GA - setup_complete: false - setup_status: not_started - default_rates_applied: false - ready_to_run_payroll: false - - state: CA - setup_complete: true - setup_status: complete - default_rates_applied: false - ready_to_run_payroll: true - items: - type: object - properties: - state: - "$ref": "#/components/schemas/State" - setup_complete: - type: boolean - description: Whether all requirements for the state have been satisfied such that the company can complete onboarding. A company must be `setup_complete` in all relevant states to complete the `state_setup` company onboarding step. - setup_status: + description: The UUID of the time off policy associated with this request. + example: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + readOnly: true + days: + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"}).' + type: object + additionalProperties: type: string - enum: - - not_started - - in_progress - - complete - description: | - The current status of the state tax setup. - - `not_started`: No requirements have been filled - - `in_progress`: Some requirements have been filled, or default rates are applied - - `complete`: All requirements have been filled without default rates - default_rates_applied: - type: boolean - description: Whether the state is using system-assigned default SUI rates rather than employer-specific rates. - ready_to_run_payroll: - type: boolean - description: Whether the state tax setup is sufficiently complete for the company to run payroll. This will be `true` when `setup_complete` is `true`. - Tax-Requirement-Set-Update: - type: array - description: Array of requirement sets to update. Each set corresponds to a category of requirements for the state. - items: - type: object - required: - - key - - state - properties: - key: - "$ref": "#/components/schemas/Tax-Requirement-Set-Key" - state: - "$ref": "#/components/schemas/State" - effective_from: - "$ref": "#/components/schemas/Tax-Requirement-Effective-From" - requirements: - type: array - items: - type: object - required: - - key - properties: - key: - "$ref": "#/components/schemas/Tax-Requirement-Key" - value: - "$ref": "#/components/schemas/Tax-Requirements-Value" - Tax-Requirements-Value: - description: The value or "answer" for a tax requirement. Type depends on the requirement metadata type (e.g. string for text/account_number, boolean for radio/checkbox, number for percent/currency/tax_rate). Null when the requirement has not been answered. - example: 1233214-AB - oneOf: - - type: boolean - - type: string - - type: number - - type: 'null' - Admin-Create-Request: - type: object - description: The request body for creating a company admin. - required: - - first_name - - last_name - - email - properties: - first_name: - type: string - description: The first name of the admin. - example: John - last_name: - type: string - description: The last name of the admin. - example: Smith - email: - type: string - description: The email of the admin for Gusto's system. If the email matches an existing user, this will create an admin account for them. - example: jsmith99@gmail.com - Company-Attachment-List: + example: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + readOnly: true + employee: + type: object + description: '' + properties: + uuid: + type: string + description: The UUID of the employee the time off request is for. + example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + readOnly: true + full_name: + type: string + description: The full name of the employee the time off request is for. + example: Alex Johnson + readOnly: true + readOnly: true + initiator: + type: + - object + - 'null' + description: '' + properties: + uuid: + type: string + description: The UUID of the employee who initiated the time off request. + example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + readOnly: true + full_name: + type: string + description: The full name of the employee who initiated the time off request. + example: Alex Johnson + readOnly: true + readOnly: true + approver: + type: + - object + - 'null' + description: This value will be null if the request has not been approved. + properties: + uuid: + type: string + description: The UUID of the employee who approved the time off request. + example: 21d8dff4-ce09-4120-a274-3a5628bf6769 + readOnly: true + full_name: + type: string + description: The full name of the employee who approved the time off request. + example: Morgan Chen + readOnly: true + readOnly: true + Embedded-Time-Off-Request-List: type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" x-examples: success_status: - - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - name: Company_Attachment_File1.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - name: Company_Attachment_File2.pdf - category: compliance - upload_time: '2022-02-01T00:00:00.000Z' - items: - "$ref": "#/components/schemas/Company-Attachment" - Company-Attachment-Download-Url: - description: The temporary url to download a Company Attachment File + - uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: pending + employee_note: Family vacation + employer_note: + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + - uuid: 944cbbf4-8b13-4c45-babd-11ff13e17581 + status: approved + employee_note: Feeling under the weather + employer_note: Feel better soon! + days: + '2026-11-05': '8.000' + policy_type: sick + policy_uuid: bf493c7e-1a2d-4e5f-8c9a-3d7b6e4f2a1c + employee: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Rivera + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Morgan Chen + initiator: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Rivera + Embedded-Time-Off-Request-Preview: type: object + description: Preview of the balance impact for a time off request before it is created or updated. required: - - url + - balance_hours + - this_request_hours + - other_requested_hours + - remaining_balance_hours + - allow_negative_balance + - unlimited x-examples: success_status: - url: https://s3.amazonaws.com/static.gusto.com/assets/uploaded_files/334721.pdf?parameter=daer8r3432423djklsdafaso - success_status_alternate: - url: https://s3.amazonaws.com/static.gusto.com/assets/uploaded_files/112233.pdf?parameter=abc123def456 + balance_hours: '64.0' + this_request_hours: '16.0' + other_requested_hours: '0.0' + remaining_balance_hours: '48.0' + allow_negative_balance: false + unlimited: false properties: - url: + balance_hours: type: string - description: A full URL to download a Company Attachment File - Company-Attachment-Create-Request-Body: - description: The binary payload of the file and the company attachment category. - type: object - required: - - document - - category - properties: - document: + nullable: true + description: The employee's current available balance hours for this policy. Null for unlimited policies. + example: '64.0' + readOnly: true + this_request_hours: type: string - format: binary - description: The binary payload of the file to be uploaded. Supported file types are .qbb, .qbm, .gif, .jpg, .png, .pdf, .xls, .xlsx, .doc and .docx. - category: + description: The total hours for this time off request. + example: '16.0' + readOnly: true + other_requested_hours: type: string - description: | - The category of a company attachment. - - `gep_notice`: A tax notice attachment - - `compliance`: A compliance attachment - enum: - - gep_notice - - compliance - Rehire-Update-Request-Body: - description: Request body for updating an employee rehire. - type: object - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Rehire-Body" - x-examples: - update_rehire: - version: 1928d0c378e519e9c03fb959bc959a6b - effective_date: '2023-06-30' - work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 - file_new_hire_report: true - Company-Benefit-Create-Request: - description: '' - type: object - properties: - benefit_type: - type: integer - description: The ID of the benefit to which the company benefit belongs. - active: - type: boolean - default: true - description: Whether this benefit is active for employee participation. - description: + description: Hours from other pending or approved requests for this policy. + example: '0.0' + readOnly: true + remaining_balance_hours: type: string - description: The description of the company benefit.For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like "Kaiser Permanente" or "Blue Cross/ Blue Shield". - responsible_for_employer_taxes: + nullable: true + description: The projected balance after this request is applied. Null for unlimited policies. + example: '48.0' + readOnly: true + allow_negative_balance: type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. - responsible_for_employee_w2: + description: Whether the time off policy allows a negative balance. + example: false + readOnly: true + unlimited: type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. - catch_up_type: - description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. - anyOf: - - type: string - enum: - - elective - - deemed - - type: 'null' - required: - - description - Company-Benefit-Update-Request: - description: '' + description: Whether the time off policy provides unlimited time off. + example: false + readOnly: true + Embedded-Time-Off-Balance: type: object + description: Time off balance for an employee, grouped by policy. + x-examples: + success_status: + employee_uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + balances: + - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + balance_hours: '32.0' + accrued_hours: '40.0' + used_hours: '8.0' + pending_hours: '0.0' properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - active: - type: boolean - description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. - description: + employee_uuid: type: string - description: The description of the company benefit.For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like "Kaiser Permanente" or "Blue Cross/ Blue Shield". - responsible_for_employer_taxes: - type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to short-term and long-term disability benefits (different from voluntary disability). - responsible_for_employee_w2: - type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to short-term and long-term disability benefits (different from voluntary disability). - catch_up_type: - description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. - anyOf: - - type: string - enum: - - elective - - deemed - - type: 'null' - required: - - version - Contribution-Exclusion-Update-Request: - description: '' + description: The UUID of the employee. + example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + readOnly: true + balances: + type: array + description: The employee's time off balances, one entry per policy. + readOnly: true + items: + type: object + properties: + policy_uuid: + type: string + description: The UUID of the time off policy. + example: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + readOnly: true + balance_hours: + type: string + description: The employee's current available balance hours for this policy. + example: '32.0' + readOnly: true + accrued_hours: + type: string + description: The total hours accrued year-to-date for this policy. + example: '40.0' + readOnly: true + used_hours: + type: string + description: The total hours used year-to-date for this policy. + example: '8.0' + readOnly: true + pending_hours: + type: + - string + - 'null' + description: The total hours from pending time off requests for this policy. + example: '0.0' + readOnly: true + Embedded-Time-Off-Balance-List: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Balance" + x-examples: + success_status: + - employee_uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + balances: + - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + balance_hours: '32.0' + accrued_hours: '40.0' + used_hours: '8.0' + pending_hours: '0.0' + Contractor-Payment-Group-Preview: + description: Preview of a contractor payment group type: object properties: - contribution_exclusions: + uuid: + type: + - string + - 'null' + description: The unique identifier of the contractor payment group. + readOnly: true + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + check_date: + type: string + description: The check date of the contractor payment group. + readOnly: true + debit_date: + type: string + description: The debit date of the contractor payment group. + readOnly: true + status: + type: string + description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. + enum: + - Unfunded + - Funded + readOnly: true + creation_token: + type: + - string + - 'null' + description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. + readOnly: true + partner_owned_disbursement: + type: + - boolean + - 'null' + description: Whether the disbursement is partner owned. + readOnly: true + submission_blockers: type: array - description: The list of contribution exclusions to update + description: List of submission blockers for the contractor payment group. + readOnly: true items: - "$ref": "#/components/schemas/Contribution-Exclusion" - required: - - contribution_exclusions - Employee-Benefit-Bulk-Update-Request: - description: '' - type: object - properties: - employee_benefits: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + credit_blockers: type: array - description: The list of employee benefits to create or update + description: List of credit blockers for the contractor payment group. + readOnly: true items: - "$ref": "#/components/schemas/Employee-Benefit-For-Company-Benefit" - required: - - employee_benefits - Earning-Type-List: - type: object - description: Lists of default and custom earning types for a company. + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + check_amount: + type: string + description: The total check amount for the group of contractor payments. + readOnly: true + readOnly: true + contractor_payments: + type: array + items: + "$ref": "#/components/schemas/Contractor-Payment-For-Group-Preview" x-examples: success: - default: - - name: Bonus - uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 - active: true - - name: Cash Tips - uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - active: true - - name: Commission - uuid: 60191999-004a-49d9-b163-630574433653 - active: true - - name: Correction Payment - uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 - active: true - - name: Minimum Wage Adjustment - uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 - active: true - - name: Paycheck Tips - uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf - active: true - - name: Severance - uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 - active: true - custom: - - name: Gym Membership Stipend - uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 - active: true - defaults_only: - default: - - name: Bonus - uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 - active: true - - name: Cash Tips - uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - active: true - - name: Commission - uuid: 60191999-004a-49d9-b163-630574433653 - active: true - - name: Correction Payment - uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 - active: true - - name: Minimum Wage Adjustment - uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 - active: true - - name: Paycheck Tips - uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf - active: true - - name: Severance - uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 - active: true - custom: [] + uuid: + company_uuid: 450ddadf-69da-4f37-92e5-8d78b94bffec + check_date: '2025-08-21' + debit_date: '2025-08-19' + status: Unfunded + creation_token: 025e79ac-824d-4d3e-b819-8f265c3edb72 + partner_owned_disbursement: + submission_blockers: [] + credit_blockers: [] + contractor_payments: + - uuid: + contractor_uuid: e894e72b-0aef-4856-9082-9c7826db998d + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: true + payment_method: Direct Deposit + reimbursement: '750.0' + status: Unfunded + wage: '10000.0' + wage_type: Fixed + wage_total: '10000.0' + totals: + amount: '10750.00' + debit_amount: '10750.00' + wage_amount: '10000.00' + reimbursement_amount: '750.00' + check_amount: '0.00' + With submission blockers: + uuid: + company_uuid: 450ddadf-69da-4f37-92e5-8d78b94bffec + check_date: '2025-08-21' + debit_date: '2025-08-19' + status: Unfunded + creation_token: 8f3ced95-ccba-4ace-ac5d-03c1080bb768 + partner_owned_disbursement: + submission_blockers: + - blocker_type: fast_ach_threshold_exceeded + blocker_name: Fast ACH Threshold Exceeded + selected_option: + status: unresolved + unblock_options: + - unblock_type: wire_in + check_date: '2025-08-21' + metadata: + wire_in_deadline: '2025-08-21T18:00:00Z' + wire_in_amount: '1000750.0' + - unblock_type: move_to_four_day + check_date: '2025-08-21' + metadata: + debit_date: '2025-08-15' + credit_blockers: [] + contractor_payments: + - uuid: + contractor_uuid: e894e72b-0aef-4856-9082-9c7826db998d + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: true + payment_method: Direct Deposit + reimbursement: '750.0' + status: Unfunded + wage: '1000000.0' + wage_type: Fixed + wage_total: '1000000.0' + totals: + amount: '1000750.00' + debit_amount: '1000750.00' + wage_amount: '1000000.00' + reimbursement_amount: '750.00' + check_amount: '0.00' + Contractor-Payment-Group-Partner-Disbursements: + type: object + description: Partner disbursements for a contractor payment group + x-examples: + success_status: + contractor_payment_group_uuid: 123e4567-e89b-12d3-a456-426655440000 + disbursements: + - contractor_payment_uuid: 123e4567-e89b-12d3-a456-426655440001 + contractor_uuid: 123e4567-e89b-12d3-a456-426655440002 + payment_method: Check + payment_status: Not partner managed + - contractor_payment_uuid: 123e4567-e89b-12d3-a456-426655440003 + contractor_uuid: 123e4567-e89b-12d3-a456-426655440004 + payment_method: Direct Deposit + payment_status: Pending properties: - default: + contractor_payment_group_uuid: + type: string + description: The UUID of the contractor payment group + disbursements: type: array - description: The default earning types for the company. + description: List of disbursements for the contractor payment group items: - "$ref": "#/components/schemas/Earning-Type" - custom: + type: object + properties: + contractor_payment_uuid: + type: string + description: The UUID of the contractor payment + contractor_uuid: + type: string + description: The UUID of the contractor + payment_method: + type: string + description: The payment method for the disbursement + enum: + - Direct Deposit + - Check + payment_status: + type: string + description: The status of the payment + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + Payroll-Partner-Disbursements: + type: object + description: Partner disbursements for a payroll + x-examples: + success_status: + payroll_uuid: 123e4567-e89b-12d3-a456-426655440000 + disbursements: + - employee_uuid: 123e4567-e89b-12d3-a456-426655440001 + payment_method: Check + payment_status: Not partner managed + - employee_uuid: 123e4567-e89b-12d3-a456-426655440002 + payment_method: Direct Deposit + payment_status: Pending + properties: + payroll_uuid: + type: string + description: The UUID of the payroll + disbursements: type: array - description: The custom earning types for the company. + description: List of disbursements for the payroll items: - "$ref": "#/components/schemas/Earning-Type" - Embedded-Time-Off-Request: - type: object - description: The representation of a time off request. - required: - - uuid - - status - - employee_note - - employer_note - - policy_type - - policy_uuid - - days - - employee - - initiator - - approver + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee + payment_method: + type: string + description: The payment method for the disbursement + enum: + - Direct Deposit + - Check + payment_status: + type: string + description: The status of the payment + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + Show-Employees: + type: array + items: + allOf: + - "$ref": "#/components/schemas/Employee" + - type: object + additionalProperties: true + properties: + current_home_address: + "$ref": "#/components/schemas/Employee-Home-Address" + all_home_addresses: + type: array + items: + "$ref": "#/components/schemas/Employee-Home-Address-History-Entry" + member_portal_invitation_status: + type: + - object + - 'null' + description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. + properties: + status: + type: string + description: The current status of the member portal invitation. + enum: + - pending + - sent + - verified + - complete + - cancelled + token_expired: + type: + - boolean + - 'null' + description: Whether the invitation token has expired. + welcome_email_sent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the welcome email was sent. + last_password_resent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the password reset was last resent. + partner_portal_invitation_sent: + type: + - boolean + - 'null' + description: Whether an external partner portal invitation webhook has been sent for this employee. Only included when the include param has the portal_invitations value set. x-examples: success_status: - uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 - status: pending - employee_note: Family vacation - employer_note: - days: - '2026-10-20': '8.000' - '2026-10-21': '8.000' - policy_type: vacation - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - employee: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - approver: - initiator: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - approved_status: - uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 - status: approved - employee_note: Family vacation - employer_note: - days: - '2026-10-20': '8.000' - '2026-10-21': '8.000' - policy_type: vacation - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - employee: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - approver: - uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 - full_name: Morgan Chen - initiator: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - declined_status: - uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 - status: declined - employee_note: Family vacation - employer_note: Not enough coverage - days: - '2026-10-20': '8.000' - '2026-10-21': '8.000' - policy_type: vacation - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - employee: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - approver: - initiator: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson + - uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + first_name: Boaty + middle_initial: + last_name: Koss + email: keena.feest@kiehn.co.uk + company_uuid: e904cc79-818a-4da8-9d37-0be0a86fdda8 + manager_uuid: + version: a5cec1f1c0135feb3e76ca6ea3c46176 + current_employment_status: full_time + onboarding_status: onboarding_completed + preferred_first_name: + department_uuid: + employee_code: 46f036 + payment_method: Direct Deposit + department: + terminated: false + two_percent_shareholder: false + onboarded: true + historical: false + has_ssn: true + onboarding_documents_config: + uuid: + i9_document: false + jobs: + - uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + version: 863bcd01c51fcfa2468d604cffec7413 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + current_compensation_uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + payment_unit: Year + primary: true + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + title: '' + compensations: + - uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + version: db7bfb49a4f0893432cb562311bfcad9 + payment_unit: Year + flsa_status: Exempt + adjust_for_minimum_wage: false + minimum_wages: [] + job_uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + effective_date: '2025-06-09' + rate: '80000.00' + rate: '80000.00' + hire_date: '2024-06-09' + eligible_paid_time_off: [] + terminations: [] + garnishments: [] + date_of_birth: '2005-06-09' + ssn: '' + phone: + work_email: + current_home_address: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uiud: sample-uuid-123231 + all_home_addresses: + - street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uiud: sample-uuid-123231 + - street_1: 123 Example Rd + street_2: + city: Example City + state: EX + zip: '12345' + country: USA + active: false + uiud: another-sample-uuid-456789 + member_portal_invitation_status: + status: sent + token_expired: false + welcome_email_sent_at: '2024-01-15T14:30:00Z' + last_password_resent_at: + partner_portal_invitation_sent: true + Employee-Home-Address: + type: object properties: - uuid: - type: string - description: The UUID of the time off request. - example: ad158cfb-99e4-4741-9db3-0bd3a267f222 - readOnly: true - status: - type: string - description: The status of the time off request. - example: pending - enum: - - pending - - approved - - declined - - consumed - readOnly: true - employee_note: + street_1: + type: + - string + - 'null' + readOnly: false + street_2: type: - string - 'null' - description: A note about the time off request, from the employee to the employer. - example: Family vacation - readOnly: true - employer_note: + readOnly: false + city: type: - string - 'null' - description: A note about the time off request, from the employer to the employee. - example: - readOnly: true - policy_type: + readOnly: false + state: type: - string - 'null' - description: The type of the time off policy (e.g. vacation, sick). - example: vacation - readOnly: true - policy_uuid: + readOnly: false + zip: type: - string - 'null' - description: The UUID of the time off policy associated with this request. - example: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: + - string + - 'null' + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. readOnly: true - days: - description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"}).' - type: object - additionalProperties: - type: string - example: - '2026-10-20': '8.000' - '2026-10-21': '8.000' + uuid: + type: string + description: Unique identifier for this address. + example: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uud: sample-uuid-123231 + Employee-Home-Address-History-Entry: + description: | + A single entry in an employee's home-address history. Returned in the + `all_home_addresses` array; includes the `effective_date` the address + became active in addition to the shared `Employee-Home-Address` fields. + allOf: + - "$ref": "#/components/schemas/Employee-Home-Address" + - type: object + properties: + effective_date: + type: string + format: date + description: The date the address became effective. + example: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uud: sample-uuid-123231 + effective_date: '2024-01-01' + Webhooks-Health-Check-Status: + description: The representation of a webhooks health check response + type: object + x-examples: + success_status: + status: healthy + last_checked_at: '2025-09-08T21:21:38.000Z' + properties: + status: + type: string + description: Latest health status of the webhooks system readOnly: true - employee: + enum: + - healthy + - unhealthy + - unknown + last_checked_at: + type: string + format: date-time + readOnly: true + description: ISO8601 timestamp of the last successful health check with millisecond precision + Partner-Managed-Company-Migrate-Request: + type: object + description: 'Request body is optional in API version 2026-02-01 and later. The Terms of Service signer is resolved from the authenticated payroll-admin user; the previously required `email`, `ip_address`, and `external_user_id` parameters are no longer accepted. + +' + properties: {} + x-examples: + typical: {} + Partner-Managed-Company-Migrate-Response: + type: object + properties: + company_uuid: + type: string + description: The company UUID. + migration_status: + type: boolean + description: Returns `true` when the migration completed successfully, `false` otherwise. + errors: + type: array + description: Migration blockers preventing the migration. Empty array when `migration_status` is `true`. + items: + type: object + properties: + error_key: + type: string + category: + type: string + description: Returns `migration_blocker` for blockers. + enum: + - migration_blocker + message: + type: string + metadata: + type: object + properties: + key: + type: string + description: Issue key (e.g., `company_suspended`, `terms_of_service`, `gusto_managed_benefits`). + warnings: + type: array + description: Non-blocking issues surfaced during migration (e.g., suspended company, active integrations). May be present even when `migration_status` is `true`. + items: + type: object + properties: + error_key: + type: string + category: + type: string + description: Returns `migration_warning` for warnings. + enum: + - migration_warning + message: + type: string + metadata: + type: object + properties: + key: + type: string + x-examples: + Example: + company_uuid: 39abf9b9-650b-4e67-89a0-389dc6ee8a71 + migration_status: true + errors: [] + warnings: + - error_key: base + category: migration_warning + message: Company has active integrations. + metadata: + key: active_integrations + Partner-Managed-Company-Create-Request: + type: object + required: + - user + - company + properties: + user: type: object - description: '' + description: Information for the user who will be the primary payroll administrator for the new company. + required: + - first_name + - last_name + - email properties: - uuid: + first_name: type: string - description: The UUID of the employee the time off request is for. - example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - readOnly: true - full_name: + description: The first name of the user who will be the primary payroll admin. + last_name: type: string - description: The full name of the employee the time off request is for. - example: Alex Johnson - readOnly: true - readOnly: true - initiator: - type: - - object - - 'null' - description: '' - properties: - uuid: + description: The last name of the user who will be the primary payroll admin. + email: type: string - description: The UUID of the employee who initiated the time off request. - example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - readOnly: true - full_name: + description: The email of the user who will be the primary payroll admin. + phone: type: string - description: The full name of the employee who initiated the time off request. - example: Alex Johnson - readOnly: true - readOnly: true - approver: - type: - - object - - 'null' - description: This value will be null if the request has not been approved. + description: The phone number of the user who will be the primary payroll admin. + company: + type: object + required: + - name properties: - uuid: - type: string - description: The UUID of the employee who approved the time off request. - example: 21d8dff4-ce09-4120-a274-3a5628bf6769 - readOnly: true - full_name: + name: type: string - description: The full name of the employee who approved the time off request. - example: Morgan Chen - readOnly: true - readOnly: true - Embedded-Time-Off-Request-List: - type: array - items: - "$ref": "#/components/schemas/Embedded-Time-Off-Request" - x-examples: - success_status: - - uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 - status: pending - employee_note: Family vacation - employer_note: - days: - '2026-10-20': '8.000' - '2026-10-21': '8.000' - policy_type: vacation - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - employee: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - approver: - initiator: - uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - full_name: Alex Johnson - - uuid: 944cbbf4-8b13-4c45-babd-11ff13e17581 - status: approved - employee_note: Feeling under the weather - employer_note: Feel better soon! - days: - '2026-11-05': '8.000' - policy_type: sick - policy_uuid: bf493c7e-1a2d-4e5f-8c9a-3d7b6e4f2a1c - employee: - uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 - full_name: James Rivera - approver: - uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 - full_name: Morgan Chen - initiator: - uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 - full_name: James Rivera - Embedded-Time-Off-Request-Preview: - type: object - description: Preview of the balance impact for a time off request before it is created or updated. - required: - - balance_hours - - this_request_hours - - other_requested_hours - - remaining_balance_hours - - allow_negative_balance - - unlimited + description: The legal name of the company. + trade_name: + type: string + description: The name of the company. + ein: + type: string + description: The employer identification number (EIN) of the company. + contractor_only: + type: boolean + description: Whether the company only supports contractors. Should be set to true if the company has no W-2 employees. If not passed, will default to false (i.e. the company will support both contractors and employees). x-examples: - success_status: - balance_hours: '64.0' - this_request_hours: '16.0' - other_requested_hours: '0.0' - remaining_balance_hours: '48.0' - allow_negative_balance: false - unlimited: false + Example: + user: + first_name: Frank + last_name: Ocean + email: frank@example.com + phone: '2345558899' + company: + name: Frank's Ocean, LLC + trade_name: Frank's Ocean + ein: '123456789' + contractor_only: false + Partner-Managed-Company: + description: Object returned when creating a partner managed company + type: object properties: - balance_hours: - type: string - nullable: true - description: The employee's current available balance hours for this policy. Null for unlimited policies. - example: '64.0' - readOnly: true - this_request_hours: + access_token: type: string - description: The total hours for this time off request. - example: '16.0' + description: Access token that can be used for OAuth access to the account. Access tokens expire 2 hours after they are issued. readOnly: true - other_requested_hours: + refresh_token: type: string - description: Hours from other pending or approved requests for this policy. - example: '0.0' + description: Refresh token that can be exchanged for a new access token. readOnly: true - remaining_balance_hours: + company_uuid: type: string - nullable: true - description: The projected balance after this request is applied. Null for unlimited policies. - example: '48.0' - readOnly: true - allow_negative_balance: - type: boolean - description: Whether the time off policy allows a negative balance. - example: false + description: Gusto's UUID for the company readOnly: true - unlimited: - type: boolean - description: Whether the time off policy provides unlimited time off. - example: false + expires_in: + type: integer + description: Time of access_token expiration in seconds readOnly: true - Embedded-Time-Off-Balance: - type: object - description: Time off balance for an employee, grouped by policy. x-examples: - success_status: - employee_uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - balances: - - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - balance_hours: '32.0' - accrued_hours: '40.0' - used_hours: '8.0' - pending_hours: '0.0' + Example: + access_token: de6780bc506a0446309bd9362820ba8aed28aa506c71eedbe1c5c4f9dd350e54 + refresh_token: 8257e65c97202ed1726cf9571600918f3bffb2544b26e00a61df9897668c33a1 + company_uuid: d525dd21-ba6e-482c-be15-c2c7237f1364 + expires_in: 7200 + Migration-Blocker: + description: Migration blocker that blocks company migration + type: object properties: - employee_uuid: - type: string - description: The UUID of the employee. - example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - readOnly: true - balances: + errors: type: array - description: The employee's time off balances, one entry per policy. - readOnly: true items: type: object properties: - policy_uuid: - type: string - description: The UUID of the time off policy. - example: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - readOnly: true - balance_hours: + error_key: type: string - description: The employee's current available balance hours for this policy. - example: '32.0' - readOnly: true - accrued_hours: + description: Error key + category: type: string - description: The total hours accrued year-to-date for this policy. - example: '40.0' - readOnly: true - used_hours: + description: Error category + message: type: string - description: The total hours used year-to-date for this policy. - example: '8.0' - readOnly: true - pending_hours: - type: - - string - - 'null' - description: The total hours from pending time off requests for this policy. - example: '0.0' - readOnly: true - Embedded-Time-Off-Balance-List: - type: array - items: - "$ref": "#/components/schemas/Embedded-Time-Off-Balance" - x-examples: - success_status: - - employee_uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e - balances: - - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f - balance_hours: '32.0' - accrued_hours: '40.0' - used_hours: '8.0' - pending_hours: '0.0' - Conflict-Error-Object: - description: "Conflict\n \nThis error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry." + description: Blocker message + metadata: + type: object + properties: + key: + type: string + description: A categorization of the migration blocker, e.g. "migrated_company" + Migration-Warning: + description: Migration warning that does not block company migration type: object - required: - - errors properties: - errors: + warnings: type: array items: type: object - required: - - error_key - - category properties: error_key: type: string - description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + description: Error key category: type: string - description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. + description: Error category message: type: string - description: Provides details about the error - generally this message can be surfaced to an end user. + description: Warning message + metadata: + type: object + properties: + key: + type: string + description: A categorization of the migration warning, e.g. "marijuana_related_business" + Partner-Managed-Company-Migration-Readiness-Response: + description: '' + allOf: + - type: object + properties: + ready_to_migrate: + type: boolean + description: Indicates if the company is ready to be migrated. + company_uuid: + type: string + description: The company UUID + - "$ref": "#/components/schemas/Migration-Blocker" + - "$ref": "#/components/schemas/Migration-Warning" x-examples: - invalid_version: + Example: + ready_to_migrate: false + company_uuid: 39abf9b9-650b-4e67-89a0-389dc6ee8a71 errors: - error_key: base - category: invalid_resource_version - message: You are attempting to update a resource using an out-of-date version. - Employee-Custom-Field-List: + category: invalid_operation + message: The operation is already performed for this company. + metadata: + key: migrated_company + warnings: [] + Partner-Managed-Company-Accept-Terms-Of-Service-Request: type: object - description: A list of an employee's custom fields + description: '' + required: + - email + - ip_address + - external_user_id properties: - custom_fields: - type: array - items: - "$ref": "#/components/schemas/Employee-Custom-Field" - x-examples: - example: - custom_fields: - - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - Department-List: - type: array - items: - "$ref": "#/components/schemas/Department" - x-examples: - example: - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: - - uuid: 41199375-a999-4414-9f40-d9bf596b134d - contractors: [] - - uuid: ec5c8a85-3233-4f39-a9f5-fb1ab7b5f5f3 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Actors - version: 34f39a30b45d077cb83aed2df4810d74 - employees: - - uuid: 7ee4aca1-814b-4034-b0f8-07f93cc679d1 - contractors: [] - - uuid: 1802465d-4f68-4865-920c-1307ab095f12 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Band - version: 1fe3076d35ef7c97d0ae68c5f4df0acd - employees: - - uuid: a73955be-c009-44dc-915e-6246e2bdedbb - contractors: - - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 - Department-Create-Request-Body: + email: + type: string + description: The user's email address on Gusto. You can retrieve the user's email via company's `/admins`, `/employees`, `/signatories`, and `/contractors` endpoints. + ip_address: + type: string + description: The IP address of the user who viewed and accepted the Terms of Service. + external_user_id: + type: string + description: The user ID on your platform. + x-examples: + Example: + ip_address: 192.168.1.2 + external_user_id: '2005648946132' + email: jsmith99@gmail.com + Partner-Managed-Company-Retrieve-Terms-Of-Service-Request: type: object + required: + - email properties: - title: + email: type: string - description: Name of the department - example: Stage Hand - required: - - title - Department-Update-Request-Body: + description: The user's email address on Gusto. You can retrieve the user's email via company's `/admins`, `/employees`, `/signatories`, and `/contractors` endpoints. + x-examples: + Example: + email: jsmith99@gmail.com + Partner-Managed-Company-Terms-Of-Service-Response: + description: '' type: object - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Department-Create-Request-Body" - Department-People-Request-Body: + properties: + latest_terms_accepted: + type: boolean + description: Whether the latest terms have been accepted by the user. + x-examples: + Example: + latest_terms_accepted: true + Provision-Create-Request-Body: type: object - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object + required: + - user + - company + properties: + user: + type: object + description: Information for the user who will be the primary payroll administrator for the new company. + required: + - first_name + - last_name + - email properties: - employees: + first_name: + type: string + description: The first name of the user who will be the primary payroll admin. + last_name: + type: string + description: The last name of the user who will be the primary payroll admin. + email: + type: string + description: The email of the user who will be the primary payroll admin. + phone: + type: string + description: The phone number of the user who will be the primary payroll admin. + company: + type: object + required: + - name + properties: + name: + type: string + description: The legal name of the company. + trade_name: + type: string + description: The name of the company. + ein: + type: string + description: The employer identification number (EIN) of the company. + states: type: array - description: Array of employees to add or remove from the department + description: 'The states in which the company operates. States should be included by their two letter code, i.e. NY for New York. ' items: - type: object - properties: - uuid: - type: string - contractors: + type: string + number_employees: + type: number + description: The number of employees in the company. + addresses: type: array - description: Array of contractors to add or remove from the department + uniqueItems: false + description: The locations for the company. This includes mailing, work, and filing addresses. items: type: object properties: - uuid: + street_1: type: string - Company-Custom-Field-List: - type: object + street_2: + type: + - string + - 'null' + city: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + state: + type: string + phone: + type: string + is_primary: + type: string + description: Whether or not this is a primary address for the company. If set to true, the address will be used as the mailing and filing address for the company and will be added as a work location. If set to false or not included, the address will only be added as a work location for the company. If multiple addresses are included, only one should be marked as primary. x-examples: - success_status: - custom_fields: - - uuid: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - selection_options: - - uuid: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - selection_options: - - apple - - banana - - orange - properties: - custom_fields: - type: array - items: - "$ref": "#/components/schemas/Company-Custom-Field" - Garnishment-Request-Base: + Example: + user: + first_name: Frank + last_name: Ocean + email: frank@example.com + phone: '2345558899' + company: + name: Frank's Ocean, LLC + trade_name: Frank's Ocean + tier: complete + ein: '123456789' + states: + - CO + - CA + number_employees: 8 + addresses: + - street_1: 1201 16th Street Mall + street_2: Suite 350 + city: Denver + zip: '80202' + state: CO + phone: '2345678900' + is_primary: 'true' + - street_1: 525 20th Street + city: San Francisco + zip: '94107' + state: CA + phone: '2345678901' + Provision-Created: type: object - description: Shared request body properties for creating or updating a garnishment. properties: - active: - type: boolean - default: true - description: Whether or not this garnishment is currently active. - amount: - type: string - format: float - readOnly: false - description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". - description: + account_claim_url: type: string - readOnly: false - description: The description of the garnishment. - court_ordered: - type: boolean - readOnly: false - description: Whether the garnishment is court ordered. - garnishment_type: - description: The specific type of garnishment for court ordered garnishments. - anyOf: - - type: string - enum: - - child_support - - federal_tax_lien - - state_tax_lien - - student_loan - - creditor_garnishment - - federal_loan - - other_garnishment - - type: 'null' - readOnly: false - times: - type: - - integer - - 'null' - readOnly: false - default: - description: The number of times to apply the garnishment. Ignored if recurring is true. - recurring: - type: boolean - readOnly: false - default: false - description: Whether the garnishment should recur indefinitely. - annual_maximum: - format: float - readOnly: false - default: - type: - - string - - 'null' - description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". - pay_period_maximum: - type: - - string - - 'null' - format: float - default: - description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". - deduct_as_percentage: - type: boolean - readOnly: false - default: false - description: Whether the amount should be treated as a percentage to be deducted per pay period. - total_amount: - type: - - string - - 'null' - format: float - readOnly: false - description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. - child_support: - "$ref": "#/components/schemas/Garnishment-Child-Support" - x-examples: - Example: - amount: '50.00' - annual_maximum: '2500.09' - recurring: true - Deactivate-Example: - active: false - Child-Support-Example: - amount: '40' - child_support: - case_number: ZZZ999 - Garnishment-Request: - description: Request body for creating a garnishment. - allOf: - - "$ref": "#/components/schemas/Garnishment-Request-Base" - - type: object - required: - - amount - - court_ordered + description: A URL where the user should be redirected to complete their account setup inside of Gusto. + readOnly: true x-examples: Example: - amount: '150.00' - description: Back taxes - court_ordered: true - recurring: true - deduct_as_percentage: false - Child-Support-Example: - court_ordered: true - garnishment_type: child_support - amount: '40' - recurring: true - deduct_as_percentage: true - pay_period_maximum: '500.00' - child_support: - state: FL - fips_code: '12011' - payment_period: Monthly - case_number: CS1234 - Update-Garnishment-Request: - description: Request body for updating a garnishment. - allOf: - - "$ref": "#/components/schemas/Garnishment-Request-Base" - - "$ref": "#/components/schemas/Versionable-Required" - Contractor-Address-Update-Body: + account_claim_url: https://app.gusto.com/claim_account/3456789 + Payroll-Digest: type: object + description: A payroll digest batch request. + x-examples: + success_status: + uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + batch_action: create + status: pending properties: - version: + uuid: type: string - example: 56d00c178bc7393b2a206ed6a86afcb4 - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - street_1: + format: uuid + description: The unique identifier of the payroll digest batch. + readOnly: true + idempotency_key: type: string - street_2: + format: uuid + description: The idempotency key provided when creating the batch. + batch_action: type: string - city: + enum: + - create + description: The action being performed on the batch. + status: type: string - state: + enum: + - pending + - processing + - completed + - failed + description: The lifecycle status of the batch request itself. Terminal values are `completed` (processing finished — inspect `results` and `exclusions` for per-company outcomes) and `failed` (request failed; can be retried). This is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. + required: + - uuid + - idempotency_key + - batch_action + - status + Payroll-Digest-Results: + type: object + description: A payroll digest batch with processing results. + x-examples: + success_status: + uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + status: completed + submitted_at: '2026-04-01T14:30:00Z' + completed_at: '2026-04-01T14:30:12Z' + submitted_items: 4 + processed_items: 2 + excluded_items: 2 + results: + - idx: 0 + entity_type: company + uuid: c1111111-1111-1111-1111-111111111111 + name: Acme Corporation + status: success + blockers: + - type: missing_bank_account + description: Company bank account not set up + payrolls: + - payroll_uuid: + payroll_type: regular + display_title: Run biweekly payroll + auto_payroll: false + status: ready_to_start + pay_period: + start_date: '2026-03-16' + end_date: '2026-03-29' + check_date: '2026-04-03' + run_payroll_by: '2026-03-31' + pay_schedule: + uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + frequency: Every other week + custom_name: Custom - every 1st and 15th + totals: + - payroll_uuid: 11111111-2222-3333-4444-555555555555 + payroll_type: regular + display_title: Run biweekly payroll + auto_payroll: true + status: submitted + pay_period: + start_date: '2026-03-02' + end_date: '2026-03-15' + check_date: '2026-03-20' + run_payroll_by: '2026-03-17' + pay_schedule: + uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + frequency: Every other week + custom_name: Custom - every 1st and 15th + totals: + total_debit_amount: '15234.56' + net_pay: '11456.78' + total_employer_cost: '16890.12' + - idx: 3 + entity_type: company + uuid: c2222222-2222-2222-2222-222222222222 + name: Widget Inc + status: success + payrolls: [] + exclusions: + - idx: 1 + entity_type: company + uuid: c3333333-3333-3333-3333-333333333333 + status: failed + category: not_found + message: Company not found. + - idx: 2 + entity_type: company + uuid: c4444444-4444-4444-4444-444444444444 + status: failed + category: company_inactive + message: Company is inactive or not fully onboarded. + properties: + uuid: type: string - zip: + format: uuid + description: The unique identifier of the payroll digest batch. + readOnly: true + idempotency_key: type: string - x-speakeasy-name-override: zip_code + format: uuid + description: The idempotency key provided when creating the batch. + status: + type: string + enum: + - pending + - processing + - completed + - failed + description: The lifecycle status of the batch request itself. Terminal values are `completed` (processing finished — inspect `results` and `exclusions` for per-company outcomes) and `failed` (request failed; can be retried). This is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. + submitted_at: + type: string + format: date-time + description: The timestamp when the batch was submitted. + completed_at: + type: + - string + - 'null' + format: date-time + description: The timestamp when the batch processing completed. + submitted_items: + type: + - integer + - 'null' + description: The number of companies submitted in the batch. + processed_items: + type: integer + description: The number of companies successfully processed. Only present once the batch reaches a terminal status. + excluded_items: + type: integer + description: The number of companies excluded from processing. Only present once the batch reaches a terminal status. + results: + type: array + description: Per-company results. Only present once the batch reaches a terminal status. Includes successfully processed companies (with their `payrolls` array, which may be empty when the company has no payrolls in the date window). + items: + type: object + properties: + idx: + type: integer + description: The index of this company in the original POST batch array. + entity_type: + type: string + enum: + - company + description: The type of entity this result represents. + uuid: + type: string + format: uuid + description: The UUID of the company. + name: + type: string + description: The legal/display name of the company. + status: + type: string + enum: + - success + - partial_success + - failed + description: The status of this company's digest computation. + blockers: + type: array + description: Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. + items: + type: object + properties: + type: + type: string + description: A machine-readable blocker key (e.g. `missing_bank_account`). + description: + type: string + description: Human-readable description of the blocker. + payrolls: + type: array + description: Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty. + items: + type: object + properties: + payroll_uuid: + type: + - string + - 'null' + format: uuid + description: UUID of the payroll. `null` for upcoming pay periods that have not been started yet (the `payrolls` API has not yet created a payroll record). Once a payroll is created, subsequent digest requests will include the real `payroll_uuid`. + payroll_type: + type: string + description: The type of payroll (e.g. `regular`, `new_hire`, `termination`, `transition`, `bonus`, `correction`). + display_title: + type: string + description: Partner-facing display title for this payroll (e.g. "Run biweekly payroll"). + auto_payroll: + type: boolean + description: Whether the company has auto-payroll enabled for this pay schedule. + status: + type: string + description: The lifecycle status of the payroll (e.g. `ready_to_start`, `in_progress`, `submitted`, `completed`, `failed`). + pay_period: + type: object + properties: + start_date: + type: + - string + - 'null' + format: date + description: First day of the pay period. + end_date: + type: + - string + - 'null' + format: date + description: Last day of the pay period. + check_date: + type: + - string + - 'null' + format: date + description: The date employees get paid. + run_payroll_by: + type: + - string + - 'null' + format: date + description: The deadline to run payroll for this pay period. + pay_schedule: + type: + - object + - 'null' + properties: + uuid: + type: string + format: uuid + description: UUID of the pay schedule. + frequency: + type: string + description: Human-friendly pay frequency (e.g. "Every other week"). + custom_name: + type: + - string + - 'null' + description: Custom name for the pay schedule, when set. + totals: + type: + - object + - 'null' + description: Pay totals. `null` when the payroll has not been calculated, or when the calculation is stale (the partner edited hours/earnings after the last calculation). + properties: + total_debit_amount: + type: string + description: Total amount debited from the company bank account (string-formatted decimal). + net_pay: + type: string + description: Total net pay across all employees on this payroll (string-formatted decimal). + total_employer_cost: + type: string + description: Total employer cost including taxes and benefits (string-formatted decimal). + exclusions: + type: array + description: Companies that could not be processed. Only present once the batch reaches a terminal status. Every UUID submitted in the POST batch appears in exactly one of `results` or `exclusions`. + items: + type: object + properties: + idx: + type: integer + description: The index of this company in the original POST batch array. + entity_type: + type: string + enum: + - company + description: The type of entity this exclusion represents. + uuid: + type: string + format: uuid + description: The UUID of the excluded company. + status: + type: string + enum: + - failed + description: The status of this company's digest computation. + category: + type: string + enum: + - not_found + - company_inactive + - duplicate + - internal_error + description: Machine-readable category for why the company was excluded. + message: + type: string + description: Human-readable explanation for the exclusion. required: - - version + - uuid + - idempotency_key + - status + - submitted_at + Payroll-Digest-Conflict-Error: + type: object + description: Error response when a payroll digest idempotency key has already been used by the same partner. x-examples: - example: - version: fe75bd065ff48b91c35fe8ff842f986c - street_1: 300 3rd Street - street_2: - city: San Francisco - state: CA - zip: '94107' - Contractor-Onboarding-Status-Update-Request-Body: - description: Request body for updating a contractor's onboarding status. + conflict: + errors: + - error_key: idempotency_key + category: invalid_attribute_value + message: Idempotency key has already been used + metadata: + request_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + properties: + errors: + type: array + items: + type: object + properties: + error_key: + type: string + description: The key identifying the error source. + category: + type: string + description: The error category. + message: + type: string + description: Human-readable error message. + metadata: + type: object + properties: + request_uuid: + type: string + format: uuid + description: The UUID of the existing payroll digest batch that already used this idempotency key. + Employees-Annual-Fica-Wage-Report-Acceptance: type: object + description: Acceptance acknowledgement for an asynchronous employees annual FICA wage report. Returned with HTTP 202; poll the report status endpoint using `request_uuid`. required: - - onboarding_status + - request_uuid + - company_uuid + - start_year + - end_year properties: - onboarding_status: + request_uuid: type: string - description: The updated onboarding status for the contractor. - enum: - - admin_onboarding_incomplete - - admin_onboarding_review - - self_onboarding_not_invited - - self_onboarding_invited - - self_onboarding_started - - self_onboarding_review - - onboarding_completed + format: uuid + description: The UUID of the report request. Use this to poll for report completion. + company_uuid: + type: string + format: uuid + description: The UUID of the company. + start_year: + type: integer + description: The start year for the report. + end_year: + type: integer + description: The end year for the report. x-examples: - update_onboarding_status: - onboarding_status: onboarding_completed - Pay-Schedule-Show: - type: object - title: Pay Schedule - description: | - Pay schedule returned from pay schedule endpoints (GET by ID, POST create, PUT update). Same fields as Pay-Schedule with a required `version` for [optimistic concurrency](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control). + accepted: + request_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + company_uuid: 12345678-abcd-ef12-3456-7890abcdef12 + start_year: 2023 + end_year: 2024 + parameters: + VersionHeader: + name: X-Gusto-API-Version + in: header + required: false + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + information_request_uuid: + name: information_request_uuid + in: path + required: true + schema: + type: string + description: The UUID of the information request + securitySchemes: + CompanyAccessAuth: + type: http + scheme: bearer + description: Company-level authentication + SystemAccessAuth: + type: http + scheme: bearer + description: System-level authentication + responses: + Not-Found-Error-Object: + description: "Not Found \n \nThe requested resource does not exist. Make sure the provided UUID is valid.\n" + Unprocessable-Entity-Error-Object: + description: "Unprocessable Entity \n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + examples: + Basic: + value: + errors: + - error_key: base + category: payroll_blocker + message: Company must complete all onboarding requirements in order to run payroll. + metadata: + key: needs_onboarding + Resource: + value: + errors: + - error_key: first_name + category: invalid_attribute_value + message: First name is required + - error_key: date_of_birth + category: invalid_attribute_value + message: Date of birth is not a valid date + Nested: + value: + errors: + - error_key: contractor_payments + category: nested_errors + metadata: + contractor_uuid: 72ae4617-daa9-4ed7-85e0-18ed5d0ee835 + errors: + - error_key: hours + category: invalid_attribute_value + message: Ella Fitzgerald is paid fixed wage and hours cannot be set on a contractor payment + - error_key: contractor_payments + category: nested_errors + metadata: + contractor_uuid: 2d7bf62c-babf-4a12-8292-340e2d9cab28 + errors: + - error_key: wage + category: invalid_attribute_value + message: Isaiah Berlin is paid hourly and wage cannot be set on a contractor payment +paths: + "/v1/companies/{company_uuid}/ach_transactions": + get: + summary: Get all ACH transactions for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: contractor_payment_uuid + in: query + required: false + description: The UUID of the contractor payment + schema: + type: string + - name: payroll_uuid + in: query + required: false + description: The UUID of the payroll + schema: + type: string + - name: transaction_type + in: query + required: false + description: Used to filter the ACH transactions to only include those with a specific transaction type, such as "Credit employee pay". + schema: + type: string + - name: payment_direction + in: query + required: false + description: Used to filter the ACH transactions to only include those with a specific payment direction, either "credit" or "debit". + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-ach-transactions + security: + - CompanyAccessAuth: [] + description: |- + Fetches all ACH transactions for a company. + + scope: `ach_transactions:read` + tags: + - ACH Transactions + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Ach-Transaction-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: achTransactions + x-speakeasy-name-override: getAll + "/v1/companies/{company_id}/admins": + get: + summary: Get all the admins at a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-admins + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of all the admins at a company + + scope: `company_admin:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Admin" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: listAdmins + post: + summary: Create an admin for the company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-admins + security: + - CompanyAccessAuth: [] + description: |- + Creates a new admin for a company. + If the email matches an existing user, this will create an admin account for the current user. Otherwise, this will create a new user. + + scope: `company_admin:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Admin" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Admin-Create-Request" + required: true + x-speakeasy-name-override: createAdmin + "/v1/benefits": + get: + summary: Get all supported benefits + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: get-v1-benefits + security: + - CompanyAccessAuth: [] + description: |- + Returns all benefits supported by Gusto. The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. + + scope: `benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Supported-Benefit" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getAll + "/v1/benefits/{benefit_id}": + get: + summary: Get a supported benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: benefit_id + in: path + description: The benefit type in Gusto. + required: true + schema: + type: string + operationId: get-v1-benefits-benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a benefit supported by Gusto. The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. + + scope: `benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Supported-Benefit" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getSupported + "/v1/benefits/{benefit_id}/requirements": + get: + summary: Get benefit fields requirements by benefit type + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: benefit_id + in: path + description: The benefit type in Gusto. + required: true + schema: + type: string + operationId: get-v1-benefits-benefits_id-requirements + security: + - CompanyAccessAuth: [] + description: |- + Returns the field requirements for a given benefit type. + + scope: `benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Benefit-Type-Requirements" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getRequirements + "/v1/companies/{company_id}": + get: + summary: Get a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies + security: + - CompanyAccessAuth: [] + description: |- + Get a company. + + The employees:read scope is required to return home_address and non-work locations. + The company_admin:read scope is required to return primary_payroll_admin. + The signatories:read scope is required to return primary_signatory. + + scope: `companies:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-companies + security: + - CompanyAccessAuth: [] + description: |- + Update a company. + + scope: `companies:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - contractor_only + properties: + contractor_only: + type: boolean + description: Whether the company only supports contractors. Must be updated in order for the company to start supporting W-2 employees. Can only be updated from true to false. Note that updating this value will require additional onboarding steps to be completed in order for the company to support W-2 employees. + required: true + x-speakeasy-name-override: update + "/v1/companies/{company_id}/attachments": + get: + summary: Get List of Company Attachments + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-attachments + security: + - CompanyAccessAuth: [] + description: |- + Retrieve a list of all the attachments uploaded by the company. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:read` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Company-Attachment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyAttachments + x-speakeasy-name-override: getList + post: + summary: Create Company Attachment and Upload File + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-attachment + security: + - CompanyAccessAuth: [] + description: |- + Upload a file and create a company attachment. We recommend uploading PDF files for optimal compatibility. However, the following file types are allowed: .qbb, .qbm, .gif, .jpg, .png, .pdf, .xls, .xlsx, .doc and .docx. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:write` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Attachment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + multipart/form-data: + schema: + "$ref": "#/components/schemas/Company-Attachment-Create-Request-Body" + required: true + x-speakeasy-group: companyAttachments + x-speakeasy-name-override: create + "/v1/companies/{company_id}/attachments/{company_attachment_uuid}": + get: + summary: Get Company Attachment Details + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: company_attachment_uuid + in: path + description: The UUID of the company attachment + required: true + schema: + type: string + operationId: get-v1-companies-attachment + security: + - CompanyAccessAuth: [] + description: |- + Retrieve the detail of an attachment uploaded by the company. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:read` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Attachment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyAttachments + x-speakeasy-name-override: getDetails + "/v1/companies/{company_id}/attachments/{company_attachment_uuid}/download_url": + get: + summary: Get a temporary url to download the Company Attachment file + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: company_attachment_uuid + in: path + description: The UUID of the company attachment + required: true + schema: + type: string + operationId: get-v1-companies-attachment-url + security: + - CompanyAccessAuth: [] + description: |- + Retrieve a temporary url to download an attachment file uploaded by the company. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:read` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Attachment-Download-Url" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyAttachment + x-speakeasy-name-override: getDownloadUrl + "/v1/companies/{company_id}/bank_accounts": + get: + summary: Get all company bank accounts + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-company_id-bank-accounts + security: + - CompanyAccessAuth: [] + description: |- + Returns company bank accounts. Currently, we only support a single default bank account per company. + + scope: `company_bank_accounts:read` + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: get + post: + summary: Create a company bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-bank-accounts + security: + - CompanyAccessAuth: [] + description: "This endpoint creates a new company bank account.\n\nUpon being created, two verification deposits are automatically sent to the bank account, and the bank account's verification_status is 'awaiting_deposits'.\n\nWhen the deposits are successfully transferred, the verification_status changes to 'ready_for_verification', at which point the verify endpoint can be used to verify the bank account.\nAfter successful verification, the bank account's verification_status is 'verified'.\n\n\n>\U0001F6A7 Warning\n>\n> If a default bank account exists, it will be disabled and the new bank account will replace it as the company's default funding method.\n\nscope: `company_bank_accounts:write`" + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Bank account unchanged + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: Invalid Attribute + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account-Request" + required: true + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: create + "/v1/companies/{company_id}/bank_accounts/{bank_account_id}": + delete: + summary: Delete a company bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: bank_account_id + in: path + description: The UUID of the company bank account + required: true + schema: + type: string + operationId: delete-v1-companies-company_id-bank-accounts-bank_account_id + security: + - CompanyAccessAuth: [] + description: |- + This endpoint disables a company bank account. + + A bank account cannot be disabled if it is used for any unprocessed payments. + + scope: `company_bank_accounts:write` + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: Cannot delete bank account with unfunded payments + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/companies/{company_id}/bank_accounts/{bank_account_uuid}/verify": + put: + summary: Verify a company bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: bank_account_uuid + in: path + description: The UUID of the company bank account + required: true + schema: + type: string + operationId: put-v1-companies-company_id-bank-accounts-verify + security: + - CompanyAccessAuth: [] + description: |- + Verify a company bank account by confirming the two micro-deposits sent to the bank account. + + Note that the order of the two deposits specified in request parameters does not matter. + There's a maximum of 5 verification attempts, after which we will automatically initiate a new set of micro-deposits and require the bank account to be verified with the new micro-deposits. + + ### Bank account verification in demo + In the demo environment, use the `POST /v1/companies/{company_id}/bank_accounts/{bank_account_uuid}/send_test_deposits` endpoint to simulate the micro-deposits transfer and return the two amounts in the response. You can call this endpoint as many times as you wish to retrieve the values of the two micro-deposits. + + ### Webhooks + - `company.bank_account.verified`: Fires when the company bank account is successfully verified. + + ### Related guides + - [Manage company bank accounts](doc:manage-company-bank-accounts) + - [Bank Account Events](doc:bank-account-events) + + scope: `company_bank_accounts:write` + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account-Verify-Request" + required: true + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: verify + "/v1/companies/{company_id}/company_benefits": + get: + summary: Get benefits for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: active + in: query + required: false + description: Whether the benefit is currently active + schema: + type: boolean + - name: enrollment_count + in: query + required: false + description: Whether to return employee enrollment count + schema: + type: boolean + - name: benefit_type + in: query + required: false + description: Filter by benefit type. Comma-separated list of benefit type IDs, i.e. `?benefit_type=5,105` + schema: + type: string + operationId: get-v1-companies-company_id-company_benefits + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Company-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: list + post: + summary: Create a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-company_benefits + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only create company benefits for benefit types that are permitted for the application. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit-Create-Request" + required: true + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: create + "/v1/company_benefits/{company_benefit_id}": + get: + summary: Get a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + - name: with_employee_benefits + in: query + required: false + description: Whether to return employee benefits associated with the benefit + schema: + type: boolean + - name: include + in: query + required: false + schema: + type: string + enum: + - all_benefits + description: |- + Available options: + - all_benefits: If with_employee_benefits=true, include all effective dated benefits for each employee instead of only the current benefits. + operationId: get-v1-company_benefits-company_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + When with_employee_benefits parameter with true value is passed, employee_benefits:read scope is required to return employee_benefits. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit-With-Employee-Benefits" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: get + put: + summary: Update a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + operationId: put-v1-company_benefits-company_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only update company benefits for benefit types that are permitted for the application. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit-Update-Request" + required: true + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: update + delete: + summary: Delete a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + operationId: delete-v1-company_benefits-company_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + The following must be true in order to delete a company benefit + + - There are no employee benefits associated with the company benefit + - There are no payroll items associated with the company benefit + - The benefit is not managed by a Partner or by Gusto (type must be 'External') + + When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only delete company benefits for benefit types that are permitted for the application. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + x-speakeasy-group: companyBenefits + "/v1/company_benefits/{company_benefit_id}/contribution_exclusions": + get: + summary: Get contribution exclusions for a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + operationId: get-v1-company_benefits-company_benefit_id-contribution_exclusions + security: + - CompanyAccessAuth: [] + description: |- + Returns all contributions for a given company benefit and whether they are excluded or not. + + Currently this endpoint only works for 401-k and Roth 401-k benefit types. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contribution-Exclusion" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update contribution exclusions for a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + operationId: put-v1-company_benefits-company_benefit_id-contribution_exclusions + security: + - CompanyAccessAuth: [] + description: |- + Updates contribution exclusions for a given company benefit. + + Currently this endpoint only works for 401-k and Roth 401-k benefit types. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contribution-Exclusion" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contribution-Exclusion-Update-Request" + required: true + "/v1/company_benefits/{company_benefit_id}/employee_benefits": + get: + summary: Get all employee benefits for a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_benefits + description: |- + Available options: + - all_benefits: Include all effective dated benefits for each employee instead of only the current benefits. + operationId: get-v1-company_benefits-company_benefit_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + Returns an array of all employee benefits enrolled for this company benefit. + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + scope: `employee_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getEmployeeBenefits + x-speakeasy-group: companyBenefits + put: + summary: Bulk update employee benefits for a company benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + operationId: put-v1-company_benefits-company_benefit_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + Create or update(if the employee is already enrolled in the company benefit previously) an employee benefit for the company benefit. + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only create or update employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit-Bulk-Update-Request" + required: true + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: updateEmployeeBenefits + "/v1/company_benefits/{company_benefit_id}/summary": + get: + summary: Get company benefit summary by company benefit id. + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + - name: start_date + in: query + required: false + description: The start date for which to retrieve company benefit summary + example: '2022-01-01' + schema: + type: string + - name: end_date + in: query + required: false + description: The end date for which to retrieve company benefit summary. If left empty, defaults to today's date. + example: '2022-12-31' + schema: + type: string + - name: detailed + in: query + required: false + description: Display employee payroll item summary + schema: + type: boolean + operationId: get-v1-benefits-company_benefit_id-summary + security: + - CompanyAccessAuth: [] + description: |- + Returns summary benefit data for the requested company benefit id. + + Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Benefit summary response + content: + application/json: + schema: + "$ref": "#/components/schemas/Benefit-Summary" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getSummary + "/v1/companies/{company_id}/custom_fields": + get: + summary: Get the custom fields of a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-custom_fields + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of the custom fields of the company. Useful when you need to know the schema of custom fields for an entire company. + + scope: `companies:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Custom-Field-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getCustomFields + "/v1/companies/{company_id}/forms": + get: + summary: Get all company forms + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(created_at|name|year|quarter|draft|document_content_type)(:(asc|desc))?(,(created_at|name|year|quarter|draft|document_content_type)(:(asc|desc))?)*$" + example: created_at:asc + description: 'Sort by one or more fields. Options: created_at, name, year, quarter, draft, document_content_type. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.' + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-company-forms + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all company's forms + + ### Related guides + - [Company Forms](doc:company-form) + + scope: `company_forms:read` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getAll + x-speakeasy-group: companyForms + "/v1/forms/{form_id}": + get: + summary: Get a company form + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + operationId: get-v1-company-form + security: + - CompanyAccessAuth: [] + description: |- + Get a company form + + scope: `company_forms:read` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyForms + x-speakeasy-name-override: get + "/v1/forms/{form_id}/pdf": + get: + summary: Get a company form pdf + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + operationId: get-v1-company-form-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the link to the form PDF + + scope: `company_forms:read` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form-Pdf" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getPdf + x-speakeasy-group: companyForms + "/v1/forms/{form_id}/sign": + put: + summary: Sign a company form + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + schema: + type: string + operationId: put-v1-company-form-sign + security: + - CompanyAccessAuth: [] + description: |- + Sign a company form. Company forms must be signed by the company signatory. + + scope: `company_forms:sign` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + signature_text: + type: string + description: The signature + agree: + type: boolean + description: Whether you agree to sign electronically + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + required: + - signature_text + - agree + required: true + x-speakeasy-group: companyForms + x-speakeasy-name-override: sign + "/v1/companies/{company_id}/industry_selection": + get: + summary: Get a company industry selection + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-company-industry + security: + - CompanyAccessAuth: [] + description: |- + Returns the industry classification for a company, including NAICS code, SIC codes, and industry title. + + scope: `companies:read` + tags: + - Industry Selection + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Industry" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: industrySelection + x-speakeasy-name-override: get + put: + summary: Update a company industry selection + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-company-industry + security: + - CompanyAccessAuth: [] + description: |- + Update the industry classification for a company by passing in a [NAICS code](https://www.naics.com). + + Optionally provide an industry title and [SIC codes](https://siccode.com/). If you do not provide SIC codes, + we will use the NAICS code to perform an internal lookup. + + Our UI leverages [Middesk API](https://docs.middesk.com/reference/introduction) to determine industry + classification codes. + + scope: `companies:write` + tags: + - Industry Selection + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Industry" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Industry-Selection-Required-Body" + required: true + x-speakeasy-group: industrySelection + x-speakeasy-name-override: update + "/v1/companies/{company_uuid}/notifications": + get: + summary: Get notifications for company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company for which you would like to return notifications + required: true + schema: + type: string + - name: status + in: query + schema: + type: string + enum: + - open + - expired + - resolved + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-company-notifications + security: + - CompanyAccessAuth: [] + description: |- + Returns all notifications relevant for the given company. + + scope: `notifications:read` + tags: + - Notifications + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Notifications-List" + "/v1/companies/{company_uuid}/onboarding_status": + get: + summary: Get company onboarding status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: additional_steps + in: query + required: false + example: external_payroll + description: Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". + schema: + type: string + operationId: get-v1-company-onboarding-status + security: + - CompanyAccessAuth: [] + description: |- + Retrieves a company's onboarding status, including whether onboarding is complete and the list of + required onboarding steps with their respective completion state. + + scope: `company_onboarding_status:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Onboarding-Status" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getOnboardingStatus + "/v1/companies/{company_uuid}/finish_onboarding": + put: + summary: Finish company onboarding + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + operationId: get-v1-company-finish-onboarding + security: + - CompanyAccessAuth: [] + description: |- + Finalize a company's onboarding process. + + ### Approve a company in demo + + After a company is finished onboarding, Gusto requires an additional step to review and approve that company. + The company onboarding status is "onboarding_completed": false, until the API call is made to finish company + onboarding. In production environments, this step is required for risk-analysis purposes. + + We provide the endpoint `PUT '/v1/companies/{company_uuid}/approve'` to facilitate company approvals in the demo environment. + + ```shell + PUT '/v1/companies/89771af8-b964-472e-8064-554dfbcb56d9/approve' + + # Response: Company object, with company_status: 'Approved' + ``` + + scope: `companies:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Onboarding-Status" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: finishOnboarding + "/v1/companies/{company_uuid}/payment_configs": + get: + summary: Get a company's payment configs + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-company-payment-configs + security: + - CompanyAccessAuth: [] + description: |- + Get payment speed configurations for the company: payment speed (1-day, 2-day, or 4-day ACH), fast payment limit, partner-owned disbursement setting, and earned fast ACH blockers when applicable. 1-day is only available to partners that opt in. + + ### Related guides + - [Payroll Processing Speeds](doc:2-day-vs-4-day) + + scope: `company_payment_configs:read` + tags: + - Payment Configs + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payment-Configs" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: paymentConfigs + put: + summary: Update a company's payment configs + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-company-payment-configs + security: + - CompanyAccessAuth: [] + description: |- + Update payment speed, fast payment limit, and/or partner-owned disbursement for a company. + + At least one of `payment_speed`, `fast_payment_limit`, or `partner_owned_disbursement` is required. + 1-day payment speed is only applicable to partners that opt in. 1-day is not allowed when AutoPilot is enabled. + + ### Related guides + - [Payroll Processing Speeds](doc:2-day-vs-4-day) + + scope: `company_payment_configs:write` + tags: + - Payment Configs + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payment-Configs" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payment-Configs-Update-Request" + required: true + x-speakeasy-group: paymentConfigs + x-speakeasy-name-override: update + "/v1/companies/{company_uuid}/suspensions": + get: + summary: Get suspensions for this company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: get-companies-company_uuid-suspensions + security: + - CompanyAccessAuth: [] + description: "Get existing suspension records for this company. A company may have multiple suspension records if they have suspended their Gusto account more than once.\n\n>\U0001F4D8 To check if company is already suspended\n>\n> To determine if a company is _currently_ suspended, use the `is_suspended` and `company_status` fields in the [Get a company](https://docs.gusto.com/embedded-payroll/reference/get-v1-companies) endpoint.\n\nscope: `company_suspensions:read`" + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Suspension-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companies.suspensions + x-speakeasy-name-override: get + post: + summary: Suspend a company's account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: post-companies-company_uuid-suspensions + security: + - CompanyAccessAuth: [] + description: |- + Use this endpoint to suspend a company. After suspension, company will no longer be able to run payroll but will retain access to their information, such as retrieving employee info or retrieving past payrolls. + + scope: `company_suspensions:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Suspension" + '422': + description: | + Unprocessable Entity - For API version 2025-11-15 and later, responses use `auto_payroll`; earlier versions use `auto_pilot` for the same semantic. - required: - - uuid - - version - properties: - uuid: - "$ref": "#/components/schemas/Pay-Schedule-Uuid" - version: - "$ref": "#/components/schemas/Pay-Schedule-Version" - frequency: - "$ref": "#/components/schemas/Pay-Schedule-Frequency" - anchor_pay_date: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" - anchor_end_of_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" - day_1: - "$ref": "#/components/schemas/Pay-Schedule-Day-1" - day_2: - "$ref": "#/components/schemas/Pay-Schedule-Day-2" - name: - "$ref": "#/components/schemas/Pay-Schedule-Name" - custom_name: - "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" - auto_pilot: - type: boolean + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Suspension-Creation-Errors" + requestBody: + content: + application/json: + schema: + type: object + required: + - file_quarterly_forms + - file_yearly_forms + - reconcile_tax_method + - reason + properties: + file_quarterly_forms: + type: boolean + description: Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. + file_yearly_forms: + type: boolean + description: Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. + reconcile_tax_method: + type: string + enum: + - pay_taxes + - refund_taxes + description: How Gusto will handle taxes already collected. + comments: + type: string + description: User-supplied comments describing why they are suspending their account. Required if the user is leaving for another provider and selects "other" instead of a defined provider. + reason: + type: string + enum: + - switching_provider + - shutting_down + - acquired + - no_more_employees + - changing_ein_or_entity_type + description: "Explanation for why the company is suspending their account.\n\n> \U0001F6A7 FEIN or entity type changes require Customer Support\n> If a company is switching FEIN or changing their entity type, this change must be performed by Gusto Customer Support and cannot be performed via the API at this time.\n" + leaving_for: + type: string + enum: + - accountant + - adp + - adp_total_source + - bamboo_hr + - bank_or_financial_institution + - check + - deel + - gusto_com + - homebase + - insperity + - intuit_or_quickbooks + - justworks + - manual + - namely + - onpay + - other + - oyster + - patriot + - paychex + - paycom + - paylocity + - remote + - rippling + - square + - surepayroll + - trinet + - velocity_global + - zenefits + description: "The competitor the company is switching to. Required if `reason` is `'switching_provider'`.\n\n> \U0001F6A7 Switching to Gusto requires Customer Support\n> If `'gusto_com'` is selected, this change must be completed by Gusto Customer Support and cannot be performed via the API. This endpoint will return a 422 error in that case.\n" + required: true + x-speakeasy-group: companies.suspensions + x-speakeasy-name-override: suspend + "/v1/companies/{company_uuid}/tax_requirements": + get: + summary: Get all tax requirements for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: get-v1-companies-company_uuid-tax_requirements + security: + - CompanyAccessAuth: [] + description: |- + Retrieves all states for which a company has tax requirements, along with a boolean indicating whether tax setup + is complete for each state. Use this to determine which states still need tax setup during company onboarding. + + scope: `company_tax_requirements:read` + tags: + - Tax Requirements + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Tax-Requirement-States-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: taxRequirements + x-speakeasy-name-override: getAll + "/v1/companies/{company_uuid}/tax_requirements/{state}": + get: + summary: Get tax requirements for a state + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: state + in: path + required: true + description: The two-letter state abbreviation + example: CA + schema: + type: string + - name: scheduling + in: query + required: false + description: When true, return "new" requirement sets with valid `effective_from` dates that are available to save new effective-dated values. + schema: + type: boolean + operationId: get-v1-companies-company_uuid-tax_requirements-state + security: + - CompanyAccessAuth: [] + description: |- + Retrieves the detailed tax requirements for a specific state. The response includes requirement sets grouped by + category (e.g., registrations, tax rates, deposit schedules), each containing individual requirements with their + current values, labels, and metadata describing the expected input format. + + Use this to build dynamic UIs for tax setup or to read the current tax configuration for a state. + + scope: `company_tax_requirements:read` + tags: + - Tax Requirements + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Tax-Requirements-State" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: taxRequirements + x-speakeasy-name-override: get + put: + summary: Update tax requirements for a state + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: state + in: path + required: true + description: The two-letter state abbreviation + example: CA + schema: + type: string + operationId: put-v1-companies-company_uuid-tax_requirements-state + security: + - CompanyAccessAuth: [] + description: |- + Updates the tax requirement answers for a specific state. Submit answers to the requirement questions returned + by [GET /v1/companies/{company_uuid}/tax_requirements/{state}](ref:get-v1-companies-company_uuid-tax_requirements-state). + + ### Prerequisites + + 1. Retrieve current requirements via [GET /v1/companies/{company_uuid}/tax_requirements/{state}](ref:get-v1-companies-company_uuid-tax_requirements-state) + 2. Ensure that each requirement set that you're updating includes the correct `key`, `state`, and `effective_from` values from the GET response + + scope: `company_tax_requirements:write` + tags: + - Tax Requirements + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + requirement_sets: + "$ref": "#/components/schemas/Tax-Requirement-Set-Update" + required: true + x-speakeasy-group: taxRequirements + x-speakeasy-name-override: updateState + "/v1/companies/{company_id}/federal_tax_details": + get: + summary: Get a company's federal tax details + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + operationId: get-v1-companies-company_id-federal_tax_details + security: + - CompanyAccessAuth: [] + description: |- + Retrieves a company's federal tax details including EIN verification status, tax payer type, filing form, and other federal tax configuration. + + scope: `company_federal_taxes:read` + tags: + - Federal Tax Details + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Federal-Tax-Details" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: federalTaxDetails + x-speakeasy-name-override: get + put: + summary: Update a company's federal tax details + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + operationId: put-v1-companies-company_id-federal_tax_details + security: + - CompanyAccessAuth: [] + description: |- + Updates a company's federal tax details including EIN, legal name, tax payer type, filing form, and S-Corp + taxation status. This information is required to onboard a company for use with Gusto Embedded Payroll. + + ### Prerequisites + Before calling this endpoint, retrieve the current federal tax details and `version` via [GET /v1/companies/{company_id}/federal_tax_details](ref:get-v1-companies-company_id-federal_tax_details) + + ### Webhooks + - `company.updated`: Fires when federal tax details for a company are successfully updated + + **Setup:** [POST /v1/webhook_subscriptions](ref:post-v1-webhook-subscription) with `subscription_types`: `["Company"]` + + scope: `company_federal_taxes:write` + tags: + - Federal Tax Details + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Federal-Tax-Details" + '404': description: | - With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. - For API version 2025-11-15 and later the response uses auto_payroll (Autopayroll) instead. - readOnly: true - auto_payroll: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll" - active: - "$ref": "#/components/schemas/Pay-Schedule-Active" - auto_payroll_enablement_blockers: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blockers" - x-tags: - - Pay Schedules - x-examples: - Example: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - auto_pilot: false - custom_name: A new monthly pay schedule - active: true - auto_payroll_enablement_blockers: - success_status: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2022-09-01' - anchor_end_of_pay_period: '2022-08-18' - day_1: 1 - day_2: 15 - name: - custom_name: every 1st and 15th of the month - auto_pilot: true - active: true - auto_payroll_enablement_blockers: - Pay-Schedule-Show-Response: - type: array - description: 'List of pay schedules for a company, as returned from [GET /v1/companies/{company_id}/pay_schedules](ref:get-v1-companies-company_id-pay_schedules). Each entry matches Pay-Schedule-Show (includes `version`). + Not Found -' - items: - "$ref": "#/components/schemas/Pay-Schedule-Show" - x-tags: - - Pay Schedules - x-examples: - success_status: - - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Monthly - anchor_pay_date: '2022-12-11' - anchor_end_of_pay_period: '2022-11-13' - day_1: 11 - day_2: - name: - custom_name: every 11th of the month - auto_pilot: true - active: true - auto_payroll_enablement_blockers: - Contractor-Bank-Account-List: - title: Contractor-Bank-Account-List - type: array - items: - "$ref": "#/components/schemas/Contractor-Bank-Account" - x-examples: - example: - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Contractor-Bank-Account-Create-Request-Body: - title: Contractor-Bank-Account-Create-Request-Body - type: object - required: - - name - - routing_number - - account_number - - account_type - properties: - name: - type: string - description: Name for the bank account - routing_number: - type: string - description: The bank account's routing number - account_number: - type: string - description: The bank account's account number - account_type: - type: string - enum: - - Checking - - Savings - description: Bank account type - x-examples: - example: - name: BoA Checking Account - routing_number: '266905059' - account_number: '5809431207' - account_type: Checking - Partner-Managed-Company-Migrate-Request: - type: object - required: - - email - properties: - email: - type: string - description: Email of the company signatory who is authorized to accept our [Terms of Service](https://flows.gusto.com/terms) and migration decision. You can retrieve the signatory email from the `GET /v/1/companies/{company_id}/signatories` endpoint. - ip_address: - type: string - description: The IP address of the signatory who viewed and accepted the Terms of Service. - external_user_id: - type: string - description: The signatory's user ID on your platform. - x-examples: - typical: - email: payroll.admin@example.com - ip_address: 203.0.113.42 - external_user_id: 9f8e7d6c-5b4a-3210-fedc-ba9876543210 - Partner-Managed-Company-Migrate-Response: - type: object - properties: - company_uuid: - type: string - description: The company UUID - migration_status: - type: string - description: The migration status. Always returns `success` for a successful migration. - enum: - - success - x-examples: - Example: - company_uuid: 39abf9b9-650b-4e67-89a0-389dc6ee8a71 - migration_status: success - Webhook-Verification-Token-Response: - description: The response from requesting a webhook subscription verification token. - type: object - x-tags: - - Webhooks - title: '' - properties: - message: - type: string - description: A message indicating the verification token has been sent. - x-examples: - Example: - message: Success! The subscriber will be notified with the verification token - Employee-Benefit-Create-Request: - description: '' - type: object - properties: - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - active: - type: boolean - default: true - description: Whether the employee benefit is active. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - deduct_as_percentage: - type: boolean - default: false - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction_annual_maximum: - type: - - string - - 'null' - description: The maximum employee deduction amount per year. A null value signifies no limit. - contribution: - type: object - description: An object representing the company contribution type and value. - properties: - type: - type: string - enum: - - tiered - - percentage - - amount - description: |- - The company contribution scheme. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Federal-Tax-Details-Update" + required: true + x-speakeasy-group: federalTaxDetails + x-speakeasy-name-override: update + "/v1/jobs/{job_id}/compensations": + get: + summary: Get compensations for a job + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_compensations + description: | + Available options: + - all_compensations: Include all effective dated compensations for each job instead of only the current compensation + operationId: get-v1-jobs-job_id-compensations + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. + + *Note: Currently the API does not support creating multiple compensations per job - creating a compensation with the same job_uuid as another will fail with a relevant error.* + + Use `flsa_status` to determine if an employee is eligible for overtime + By default the API returns only the current compensation - use the `include` parameter to return all compensations. - `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + scope: `compensations:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found - `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getCompensations + x-speakeasy-group: jobsAndCompensations + post: + summary: Create a compensation + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + operationId: post-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + ### Prerequisites + Before calling this endpoint: + 1. A [job](ref:post-v1-jobs-job_id) must exist for the employee - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - type: array - description: For `tiered` contribution types, an array of tiers. - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + ### Webhooks + - `employee_job_compensation.created`: Fires when a compensation is successfully created - Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + scope: `compensations:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found - For example: + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity - If the first tier has a threshold of "3", and rate of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensations-Request-Body" + required: true + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: createCompensation + "/v1/compensations/{compensation_id}": + get: + summary: Get a compensation + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: compensation_id + in: path + description: The UUID of the compensation + required: true + schema: + type: string + operationId: get-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. - elective: - type: boolean - description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. - default: false - company_contribution_annual_maximum: - type: - - string - - 'null' - description: The maximum company contribution amount per year. A null value signifies no limit. - limit_option: - description: |- - Some benefits require additional information to determine - their limit. + scope: `compensations:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: getCompensation + put: + summary: Update a compensation + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: compensation_id + in: path + description: The UUID of the compensation + required: true + schema: + type: string + operationId: put-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. + + ### Webhooks + - `employee_job_compensation.updated`: Fires when a compensation is successfully updated + + scope: `compensations:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensations-Update-Request-Body" + required: true + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: updateCompensation + delete: + summary: Delete a compensation + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: compensation_id + in: path + description: The UUID of the compensation + required: true + schema: + type: string + operationId: delete-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. This endpoint deletes a compensation for a job that hasn't been processed on payroll. - `Family` or `Individual`: Applicable to HSA benefit. + ### Webhooks + - `employee_job_compensation.destroyed`: Fires when a compensation is successfully deleted - `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. - anyOf: - - type: string - enum: - - Family - - Individual - - Joint Filing or Single - - Married and Filing Separately - - type: 'null' - catch_up: - type: boolean - default: false - description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. - coverage_amount: - type: - - string - - 'null' - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - coverage_salary_multiplier: - type: string - default: '0.00' - description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - deduction_reduces_taxable_income: - description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' - anyOf: - - type: string - enum: - - unset - - reduces_taxable_income - - does_not_reduce_taxable_income - - type: 'null' - company_contribution: - type: string - default: '0.00' - description: The amount to be paid, per pay period, by the company. - deprecated: true - contribute_as_percentage: - type: boolean - default: false - description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. - deprecated: true - effective_date: - type: string - format: date - default: '1970-01-01' - description: The date the employee benefit will start. If not provided, the benefit will be effective from 1970-01-01 (unix epoch). - expiration_date: - type: - - string - - 'null' - format: date - default: - description: The date the employee benefit will expire. A null value indicates the benefit will not expire. - required: - - company_benefit_uuid - x-examples: - Example: - company_benefit_uuid: f68abb42-431e-4392-bc3f-2795627e00f3 - active: true - employee_deduction: '100.00' - contribution: - type: amount - value: '100.00' - Employee-Benefit-Update-Request: - description: '' - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - active: - type: boolean - description: Whether the employee benefit is active. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - deduct_as_percentage: - type: boolean - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction_annual_maximum: - type: - - string - - 'null' - description: The maximum employee deduction amount per year. A null value signifies no limit. - effective_date: - type: string - format: date - description: The date the employee benefit will start. - expiration_date: - type: - - string - - 'null' - format: date - description: The date the employee benefit will expire. A null value indicates the benefit will not expire. - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - type: - type: string - enum: - - amount - - percentage - - tiered - description: |- - The company contribution scheme. + scope: `compensations:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found - `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity - `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: deleteCompensation + "/v1/contractors/{contractor_uuid}/bank_accounts": + get: + summary: Get all contractor bank accounts + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: get-v1-contractors-contractor_uuid-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Returns all contractor bank accounts. - `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + scope: `contractor_payment_methods:read` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Bank-Account-List" + '404': + description: | + Not Found - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - type: array - description: For `tiered` contribution types, an array of tiers. - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getBankAccounts + x-speakeasy-group: contractorPaymentMethod + post: + summary: Create a contractor bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: post-v1-contractors-contractor_uuid-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Creates a contractor bank account. - Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + Note: We currently only support one bank account per contractor. Using this endpoint on a contractor who already has a bank account will just replace it. - For example: + scope: `contractor_payment_methods:write` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Bank-Account" + '404': + description: | + Not Found - If the first tier has a threshold of "3", and rate of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Bank-Account-Create-Request-Body" + required: true + x-speakeasy-group: contractorPaymentMethods + x-speakeasy-name-override: createBankAccount + "/v1/contractors/{contractor_uuid}/forms": + get: + summary: Get all contractor forms + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: get-v1-contractor-forms + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all contractor's forms - If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. - elective: - type: boolean - description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. - default: false - company_contribution_annual_maximum: - type: - - string - - 'null' - description: The maximum company contribution amount per year. A null value signifies no limit. - limit_option: - description: |- - Some benefits require additional information to determine - their limit. + scope: `contractor_forms:read` + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Form_1099" + '404': + description: | + Not Found - `Family` or `Individual`: Applicable to HSA benefit. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorForms + x-speakeasy-name-override: list + "/v1/contractors/{contractor_uuid}/forms/{form_id}": + get: + summary: Get a contractor form + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + operationId: get-v1-contractor-form + security: + - CompanyAccessAuth: [] + description: |- + Get a contractor form - `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. - anyOf: - - type: string - enum: - - Family - - Individual - - Joint Filing or Single - - Married and Filing Separately - - type: 'null' - catch_up: - type: boolean - default: false - description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. - coverage_amount: - type: - - string - - 'null' - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - deduction_reduces_taxable_income: - description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' - anyOf: - - type: string - enum: - - unset - - reduces_taxable_income - - does_not_reduce_taxable_income - - type: 'null' - default: unset - coverage_salary_multiplier: - type: string - default: '0.00' - description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - company_contribution: - type: string - default: '0.00' - description: The amount to be paid, per pay period, by the company. - deprecated: true - contribute_as_percentage: - type: boolean - default: false - description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. - deprecated: true - required: - - version - x-examples: - Example: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_deduction: '250.00' - Paid-Holiday: - type: object - description: A paid holiday derived from the company's holiday pay policy - x-examples: - success_status: - holiday_name: New Year's Day - holiday_key: new_years_day - start_date: '2023-01-02' - end_date: '2023-01-02' - properties: - holiday_key: - type: - - string - - 'null' - description: The holiday's identifier (null for custom holidays) - holiday_name: - type: string - description: The holiday's official name - start_date: - type: string - description: The holiday's start date (YYYY-MM-DD) - end_date: - type: string - description: The holiday's end date (YYYY-MM-DD) - Ach-Transaction-List: - type: array - items: - "$ref": "#/components/schemas/Ach-Transaction" - x-examples: - example: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 456e7890-e12b-34c5-d678-901234567890 - payment_event_type: Payroll - payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 - recipient_type: Employee - recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 - error_code: - transaction_type: Credit employee pay - payment_status: submitted - payment_direction: credit - payment_event_check_date: '2023-10-02' - payment_date: '2023-10-17' - amount: '123.00' - description: PAY 380654 - Wire-In-Request-List: - type: array - items: - "$ref": "#/components/schemas/Wire-In-Request" - x-examples: - example: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: '21911761' - recipient_routing_number: '123454321' - additional_notes: - bank_name: - date_sent: - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: - requested_amount: '1014500.00' - wire_in_deadline: '2024-06-21T18:00:00Z' - - uuid: a47fc11d-8d92-4b3e-9f2a-3a23b9d8e7d1 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: '21911761' - recipient_routing_number: '123454321' - additional_notes: - bank_name: - date_sent: - unique_tracking_code: 6kfhwxq2crsm - payment_type: ContractorPaymentGroup - payment_uuid: 8b6c3d70-9b8e-4d4d-b6a1-a1f3a6d9b2c4 - amount_sent: - requested_amount: '15000.00' - wire_in_deadline: '2024-06-21T18:00:00Z' - Wire-In-Request-Update-Request-Body: - type: object - properties: - date_sent: - type: string - description: The date the wire was sent - example: '2024-06-10' - bank_name: - type: string - description: Name of the bank sending the wire - example: Chase - amount_sent: - type: string - description: Amount of money sent - example: '314500.00' - additional_notes: - type: string - description: Additional notes - example: Wire for 2024-06-15 payroll. - required: - - date_sent - - bank_name - - amount_sent - Employee-Payment-Details-List: - type: array - description: A list of employee payment details. - x-examples: - success_status: - - employee_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - first_name: Soren - last_name: Kierkegaard - payment_method: Direct Deposit - split_by: Percentage - splits: - - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - name: Primary Checking - hidden_account_number: XXXX1207 - encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW - routing_number: '055003201' - account_type: Checking - priority: 1 - split_amount: 100 - - employee_uuid: 6b7e4b51-2e2d-4b54-9f37-7b9d0e9fa5d2 - first_name: Autumn - last_name: Connelly - payment_method: Check - split_by: - splits: - items: - type: object - properties: - employee_uuid: + scope: `contractor_forms:read` + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Form_1099" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorForms + x-speakeasy-name-override: get + "/v1/contractors/{contractor_uuid}/forms/{form_id}/pdf": + get: + summary: Get the contractor form pdf + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - description: The UUID of the employee. - readOnly: true - first_name: + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: type: string - description: The legal first name of the employee. - readOnly: true - last_name: + - name: form_id + in: path + description: The UUID of the form + required: true + schema: type: string - description: The last name of the employee. - readOnly: true - payment_method: + operationId: get-v1-contractor-form-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the link to the form PDF + + scope: `contractor_forms:read` + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Form-Pdf" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorForms + x-speakeasy-name-override: getPdf + "/v1/contractors/{contractor_uuid}/address": + get: + summary: Get a contractor address + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string enum: - - Direct Deposit - - Check - description: The type of payment method. - readOnly: true - split_by: - anyOf: - - type: string - enum: - - Amount - - Percentage - - type: 'null' - description: How the payment is split. This field is applicable when `payment_method` is "Direct Deposit". If `split_by` is Percentage, then the split amounts must add up to exactly 100. If `split_by` is Amount, the last split amount must be `null` to capture the remainder. - readOnly: true - splits: - type: - - array - - 'null' - description: An array of payment splits. This field is applicable when `payment_method` is "Direct Deposit". - items: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: get-v1-contractors-contractor_uuid-address + security: + - CompanyAccessAuth: [] + tags: + - Contractors + x-gusto-integration-type: + - embedded + description: |- + The address of a contractor is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + scope: `contractors:read` + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Address" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getAddress + put: + summary: Create or update a contractor's address + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: put-v1-contractors-contractor_uuid-address + security: + - CompanyAccessAuth: [] + tags: + - Contractors + x-gusto-integration-type: + - embedded + description: "The address of a contractor is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity.\n\n> \U0001F6A7 Contractors can only have one address.\n>\n> When a contractor is created, an address is created for them by default. Updating the address will replace the existing address.\n\nscope: `contractors:write`" + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Address" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Address-Update-Body" + required: true + x-speakeasy-name-override: updateAddress + "/v1/companies/{company_id}/contractors/payment_details": + get: + summary: List contractor payment details + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + required: true + schema: + type: string + - name: contractor_uuid + in: query + required: false + description: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. + schema: + type: string + - name: contractor_payment_group_uuid + in: query + required: false + description: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. + schema: + type: string + operationId: get-v1-companies-company_id-contractors-payment_details + security: + - CompanyAccessAuth: [] + description: |- + Get payment details for contractors in a company. This endpoint returns a list of all contractors + associated with the specified company, including their payment methods and bank account details + if they are paid via direct deposit. + + For contractors paid by direct deposit, the response includes their bank account information + with sensitive data masked for security. The payment details also include information about + how their payments are split if they have multiple bank accounts configured. + + For contractors paid by check, only the basic payment method information is returned. + + ### Response Details + - For direct deposit contractors: + - Bank account details (masked) + - Payment splits configuration + - Routing numbers + - Account types + - For check payments: + - Basic payment method designation + + ### Common Use Cases + - Fetching contractor payment information for payroll processing + - Verifying contractor payment methods + - Reviewing payment split configurations + + `encrypted_account_number` is available only with the additional scope `contractor_payment_methods:read:account_numbers`. + + scope: `contractor_payment_methods:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Details-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_id}/contractor_payment_groups/preview": + post: + summary: Preview a contractor payment group + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: post-v1-companies-company_id-contractor_payment_groups-preview + security: + - CompanyAccessAuth: [] + description: |- + Preview a group of contractor payments. Request will validate inputs and return preview of the contractor payment group including the expected `debit_date`. The `uuid` field will be null in the response. + + The returned `creation_token` is a required parameter in order to create the contractor payment group. + + scope: `payrolls:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Full contractor payment group object with null uuid + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: type: object + required: + - contractor_payments properties: - bank_account_uuid: - type: string - description: The UUID of the bank account. - name: - type: string - description: The name of the bank account. - hidden_account_number: - type: string - description: An obfuscated version of the account number which can be used for display purposes. - encrypted_account_number: - type: - - string - - 'null' - description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the `employee_payment_methods:read:account_number` scope. - routing_number: - type: string - description: The routing number of the bank account. - account_type: + contractor_payments: + type: array + items: + type: object + properties: + contractor_uuid: + type: string + description: The contractor receiving the payment + payment_method: + type: string + enum: + - Direct Deposit + - Check + - Historical Payment + default: Direct Deposit + wage: + type: string + format: float + description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked + example: '5000.0' + hours: + type: string + format: float + example: '40.0' + description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment + bonus: + type: string + format: float + example: '500.0' + description: If the contractor is on an hourly wage, this is the bonus the contractor earned + reimbursement: + type: string + format: float + example: '20.0' + description: Reimbursed wages for the contractor + invoice_number: + type: string + maxLength: 25 + example: INV-001 + description: An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. + memo: + type: string + example: Payment for consulting services + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + check_date: type: string - description: The bank account type (e.g., "Checking" or "Savings"). - priority: - type: integer - description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. - split_amount: - type: - - number - - 'null' - description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). - readOnly: true - Plaid-Processor-Token-Request: - type: object - description: Request body for creating a verified company bank account from a Plaid processor token. - required: - - owner_type - - owner_id - - processor_token - properties: - owner_type: - description: The owner type of the bank account - type: string - enum: - - Company - owner_id: - description: The owner UUID of the bank account - type: string - processor_token: - description: The Plaid processor token - type: string - x-examples: - example: - owner_type: Company - owner_id: ef279fbd-0fc6-4cf1-a977-6939d621c429 - processor_token: processor-sandbox-0asd1-a92nc - Payroll-Reversal-List: - type: array - items: - "$ref": "#/components/schemas/Payroll-Reversal" - x-examples: - Example: - - reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' - reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' - reason: Customer Request - approved_at: - category: convert_check_ee_requested - reversed_employee_uuids: - - 5f036964-185e-4c85-bbf2-3873e1203b30 - Time-Off-Activity-List: - type: array - description: A list of time off activities for an employee - items: - "$ref": "#/components/schemas/Time-Off-Activity" - x-examples: - example: - - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::AddToPolicy - event_description: 'Added to policy: Vacation Per Hour Worked' - effective_time: '2022-09-27T13:43:03.000-07:00' - balance: '0.0' - balance_change: '0.0' - - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::Accrual - event_description: Accrual - effective_time: '2022-09-27T14:43:03.000-07:00' - balance: '2.0' - balance_change: '2.0' - External-Payroll-Create-Request: - type: object - description: The request body for creating an external payroll. - x-tags: - - External Payrolls - required: - - check_date - - payment_period_start_date - - payment_period_end_date - properties: - check_date: - type: string - format: date - description: The check date of the external payroll. - example: '2022-06-03' - payment_period_start_date: - type: string - format: date - description: The start date of the external payroll payment period. - example: '2022-05-15' - payment_period_end_date: - type: string - format: date - description: The end date of the external payroll payment period. - example: '2022-05-30' - External-Payroll-Update-Request: - type: object - description: The request body for updating an external payroll with employee payroll items. - x-tags: - - External Payrolls - required: - - external_payroll_items - properties: - replace_fields: - type: boolean - description: Patch update external payroll items when set to true, otherwise it will overwrite the previous changes. - external_payroll_items: - type: array - description: Payroll items for each employee in the external payroll. - items: - type: object - required: - - employee_uuid - properties: - employee_uuid: - type: string - format: uuid - description: The UUID of the employee. - example: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca - earnings: - type: array - description: Earnings for the employee. - items: - type: object - properties: - earning_type: - type: string - enum: - - CompanyPayType - - CompanyEarningType - description: The earning type class name. - example: CompanyPayType - earning_id: - type: integer - description: The ID of the earning type. - example: 1 - amount: - type: string - format: float - description: The earning amount in dollars. - example: '10000.00' - hours: - type: string - format: float - description: The number of hours worked. - example: '80.0' - benefits: - type: array - description: Benefits for the employee. - items: - type: object - properties: - benefit_id: - type: integer - description: The ID of the company benefit. - example: 22 - company_contribution_amount: - type: string - format: float - description: The company contribution amount in dollars. - example: '100.00' - employee_deduction_amount: - type: string - format: float - description: The employee deduction amount in dollars. - example: '50.00' - taxes: + format: date + description: Date when payments should be processed + required: true + x-speakeasy-group: contractorPaymentGroups + x-speakeasy-name-override: preview + "/v1/contractor_payment_groups/{contractor_payment_group_uuid}/fund": + put: + summary: Fund a contractor payment group [DEMO] + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_group_uuid + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + operationId: put-v1-contractor_payment_groups-contractor_payment_group_id-fund + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n> This action is only available in the Demo environment\n\nSimulate funding a contractor payment group. Funding only occurs automatically in the production environment when bank transactions are generated. Use this action in the demo environment to transition a contractor payment group's `status` from `Unfunded` to `Funded`. A `Funded` status is required for generating a contractor payment receipt.\n\nscope: `payrolls:run`" + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Full contractor payment group object + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group" + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: fund + x-speakeasy-group: contractorPaymentGroups + "/v1/companies/{company_id}/contractor_payment_groups": + get: + summary: Get contractor payment groups for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: start_date + in: query + required: false + description: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. + example: '2020-01-01' + schema: + type: string + - name: end_date + in: query + required: false + description: The time period for which to retrieve contractor payment groups. Defaults to today's date. + example: '2020-12-31' + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-contractor_payment_groups + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of minimal contractor payment groups within a given time period, including totals but not associated contractor payments. + + scope: `payrolls:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: List of Contractor Payment Groups + content: + application/json: + schema: type: array - description: Taxes for the employee. items: - type: object - properties: - tax_id: - type: integer - description: The ID of the tax. - example: 1 - amount: - type: string - format: float - description: The tax amount in dollars. - example: '400.00' - Tax-Liability-Selections-Request: - type: object - description: The request body for updating tax liability selections. - x-tags: - - External Payrolls - required: - - liability_selections - properties: - liability_selections: - type: array - description: Tax liability selections to record for the company's external payrolls. - items: - type: object - required: - - tax_id - - last_unpaid_external_payroll_uuid - - unpaid_liability_amount - properties: - tax_id: - type: integer - description: The ID of the tax. - example: 1 - last_unpaid_external_payroll_uuid: - type: - - string - - 'null' - description: The UUID of the last external payroll with an unpaid liability for this tax. Set to `null` to indicate no liability. - example: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - unpaid_liability_amount: - type: string - format: float - description: The total cumulative unpaid liability amount for this tax across all external payrolls up to and including the one specified by `last_unpaid_external_payroll_uuid`. - example: '47.5' - Contractor-Payments-Preview-Body: - description: Request body for previewing contractor payments. The expected debit date for the payments is calculated from the provided check date and the company's ACH speed. - type: object - required: - - contractor_payments - properties: - contractor_payments: - type: array - description: A list of contractor payments to preview. - items: - type: object - properties: - contractor_uuid: - type: string - description: The contractor receiving the payment. - date: - type: string - description: Date of the contractor payment (check date). - payment_method: - type: string - enum: - - Direct Deposit - - Check - - Historical Payment - description: The payment method. - wage: - type: integer - description: Fixed wage amount for the payment. - hours: - type: integer - description: Number of hours worked for the payment. - hourly_rate: - type: integer - description: Hourly rate for the payment. - bonus: - type: integer - description: Bonus amount for the payment. - reimbursement: - type: integer - description: Reimbursement amount for the payment. - x-examples: - Example: - contractor_payments: - - bonus: 0 - date: '2022-09-02' - contractor_uuid: 5376e95b-cca0-482b-bb81-aba5e360eb04 - hours: 0 - payment_method: Check - reimbursement: 0 - wage: 123 - hourly_rate: 0 - - bonus: 0 - date: '2022-09-02' - contractor_uuid: 0c984dce-de9a-47db-8bfb-5f0c823afe6f - hours: 0 - payment_method: Check - reimbursement: 0 - wage: 456 - hourly_rate: 0 - x-tags: + "$ref": "#/components/schemas/Contractor-Payment-Group-With-Blockers" + '404': + description: | + Not Found + + The requested company does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getList + x-speakeasy-group: contractorPaymentGroups + post: + summary: Create a contractor payment group + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: post-v1-companies-company_id-contractor_payment_groups + security: + - CompanyAccessAuth: [] + description: |- + Pay a group of contractors. Information needed depends on the contractor's wage type (hourly vs fixed) + + scope: `payrolls:run` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Full contractor payment group object + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested company does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - check_date + - contractor_payments + - creation_token + properties: + check_date: + type: string + format: date + description: The payment check date + example: '2020-01-01' + creation_token: + type: string + description: A token used to make contractor payment group creation idempotent. The string must be unique for each group you intend to create. + example: 1d532d13-8f61-4a57-ad3c-b5fac1c6e05e + submission_blockers: + type: array + description: Optional array of submission blockers with selected unblock options. Returned from the preview endpoint and can be submitted with selected_option to resolve blockers. + items: + type: object + properties: + blocker_type: + type: string + description: The type of blocker that is blocking the payment submission + selected_option: + type: + - string + - 'null' + description: The unblock option selected to resolve the submission blocker + message: + type: string + description: Optional message related to the blocker + options: + type: array + description: Optional array of additional options for the blocker + items: + type: object + properties: + type: + type: string + description: The type of option + message: + type: string + description: Message for the option + contractor_payments: + type: array + items: + type: object + properties: + contractor_uuid: + type: string + description: The contractor receiving the payment + payment_method: + type: string + enum: + - Direct Deposit + - Check + - Historical Payment + default: Direct Deposit + wage: + type: string + format: float + description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked + example: '5000.0' + hours: + type: string + format: float + example: '40.0' + description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment + bonus: + type: string + format: float + example: '500.0' + description: If the contractor is on an hourly wage, this is the bonus the contractor earned + reimbursement: + type: string + format: float + example: '20.0' + description: Reimbursed wages for the contractor + invoice_number: + type: string + maxLength: 25 + example: INV-001 + description: An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. + memo: + type: string + example: Payment for consulting services + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + required: true + x-speakeasy-group: contractorPaymentGroups + x-speakeasy-name-override: create + "/v1/contractor_payment_groups/{contractor_payment_group_uuid}": + get: + summary: Get a contractor payment group + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_group_uuid + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + operationId: get-v1-contractor_payment_groups-contractor_payment_group_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a contractor payment group with all associated contractor payments. + + scope: `payrolls:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group" + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorPaymentGroups + x-speakeasy-name-override: get + delete: + summary: Cancel a contractor payment group + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_group_uuid + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + operationId: delete-v1-contractor_payment_groups-contractor_payment_group_id + security: + - CompanyAccessAuth: [] + description: |- + Cancels a contractor payment group and all associated contractor payments. All contractor payments must be cancellable, unfunded. + + scope: `payrolls:run` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: Successfully cancelled + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when trying to cancel a payment group that is not in a cancellable state, such as one that has already been funded or processed. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + x-speakeasy-group: contractorPaymentGroups + "/v1/contractor_payment_groups/{id}/partner_disbursements": + get: + summary: Get partner disbursements for a contractor payment group + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + operationId: get-v1-contractor_payment_groups-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Get partner disbursements for a specific contractor payment group. + + scope: `partner_disbursements:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group-Partner-Disbursements" + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + patch: + summary: Update partner disbursements for a contractor payment group + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + operationId: patch-v1-contractor_payment_groups-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Update partner disbursements for a specific contractor payment group. + + scope: `partner_disbursements:write` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group-Partner-Disbursements" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + disbursements: + type: array + items: + type: object + properties: + contractor_payment_uuid: + type: string + description: UUID of the contractor payment + example: 9f8e7d6c-5b4a-3928-1c2d-3e4f5a6b7c8d + payment_method: + type: string + enum: + - Direct Deposit + - Check + description: Payment method for the contractor + payment_status: + type: string + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + description: Status of the payment disbursement + required: + - contractor_payment_uuid + required: + - disbursements + "/v1/contractors/{contractor_uuid}/payment_method": + get: + summary: Get a contractor's payment method + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: get-v1-contractors-contractor_uuid-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Fetches a contractor's payment method. A contractor payment method + describes how the payment should be split across the contractor's associated + bank accounts. + + scope: `contractor_payment_methods:read` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorPaymentMethod + x-speakeasy-name-override: get + put: + summary: Update a contractor's payment method + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: put-v1-contractors-contractor_id-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Updates a contractor's payment method. Note that creating a contractor + bank account will also update the contractor's payment method. + + scope: `contractor_payment_methods:write` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Conflict-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - version + - type + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + example: 63859768485e218ccf8a449bb60f14ed + type: + type: string + enum: + - Direct Deposit + - Check + description: The payment method type. If type is Direct Deposit, the contractor is required to have a bank account. See [Bank account endpoint](./post-v1-contractors-contractor_uuid-bank_accounts). + required: true + x-speakeasy-group: contractorPaymentMethod + x-speakeasy-name-override: update + "/v1/companies/{company_id}/contractor_payments": + get: + summary: Get contractor payments for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: start_date + in: query + required: true + description: The time period for which to retrieve contractor payments + example: '2020-01-01' + schema: + type: string + - name: end_date + in: query + required: true + description: The time period for which to retrieve contractor payments. If left empty, defaults to today's date. + example: '2020-12-31' + schema: + type: string + - name: contractor_uuid + in: query + required: false + description: The UUID of the contractor. When specified, will load all payments for that contractor. + schema: + type: string + - name: group_by_date + in: query + required: false + description: Display contractor payments results group by check date if set to true. + schema: + type: boolean + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-contractor_payments + security: + - CompanyAccessAuth: [] + description: |- + Returns an object containing individual contractor payments, within a given time period, including totals. + + Results are returned in reverse chronological order (newest first). + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: A JSON object containing contractor payments information + content: + application/json: + schema: + anyOf: + - "$ref": "#/components/schemas/Contractor-Payment-Summary" + - "$ref": "#/components/schemas/Contractor-Payment-Summary-By-Dates" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: list + post: + summary: Create a contractor payment + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: post-v1-companies-company_id-contractor_payments + security: + - CompanyAccessAuth: [] + description: |- + Pay a contractor. Information needed depends on the contractor's wage type (hourly vs fixed) + + scope: `payrolls:run` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Body" + required: true + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: create + "/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}": + get: + summary: Get a single contractor payment + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: contractor_payment_id + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + operationId: get-v1-companies-company_id-contractor_payment-contractor-payment + security: + - CompanyAccessAuth: [] + description: |- + Returns a single contractor payment. + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: contractorPayments + delete: + summary: Cancel a contractor payment + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: contractor_payment_id + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + operationId: delete-v1-companies-company_id-contractor_payment-contractor-payment + security: + - CompanyAccessAuth: [] + description: |- + Cancels and deletes a contractor payment. If the contractor payment has already started processing ("may_cancel": true), the payment cannot be cancelled. + + scope: `payrolls:run` + tags: - Contractor Payments - Contractor-Payments-Preview: - type: object - description: The expected debit date computed for a set of previewed contractor payments. - properties: - expected_debit_date: - type: string - format: date - description: The calculated debit date. If the payment method is Direct Deposit, the debit date will account for the company's ACH speed. If the payment method is Check, the debit date will be the same as the check date. - x-examples: - example: - expected_debit_date: '2022-08-16' - x-tags: + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/contractor_payments/preview": + get: + summary: Preview contractor payment debit date + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: get-companies-company_uuid-contractor_payments-preview + security: + - CompanyAccessAuth: [] + description: |- + Returns a debit_date dependent on the ACH payment speed of the company. + + If the payment method is Check or Historical payment, the debit_date will be the same as the check_date. + + scope: `payrolls:read` + tags: - Contractor Payments - Ytd-Benefit-Amounts-From-Different-Company-Body: - type: object - description: Year-to-date benefit amounts contributed at a different company for the specified employee. - properties: - benefit_type: - type: integer - description: The benefit type supported by Gusto. - tax_year: - type: number - minimum: 2000 - maximum: 2999 - description: The tax year for which this amount applies. - ytd_employee_deduction_amount: - type: string - default: '0.00' - description: The year-to-date employee deduction made outside the current company. - ytd_company_contribution_amount: - type: string - default: '0.00' - description: The year-to-date company contribution made outside the current company. - required: - - benefit_type - - tax_year - - ytd_employee_deduction_amount - - ytd_company_contribution_amount - x-tags: - - Employee Benefits - Employee-Bank-Account-Request: - type: object - description: Request body for creating or updating an employee bank account. Send these fields as top-level JSON keys (the API wraps them server-side). - properties: - routing_number: - type: string - description: The bank routing number (nine digits). - example: '266905059' - account_number: - type: string - description: The bank account number. - example: '5809431207' - account_type: - type: string - description: The bank account type. - example: Checking - enum: - - Checking - - Savings - name: - type: string - description: A name for the bank account (e.g. "Primary Checking"). - example: BoA Checking Account - required: - - routing_number - - account_number - - account_type - - name - Printable-Payroll-Checks-Body: - description: Request body for generating printable payroll checks. - type: object - required: - - printing_format - properties: - printing_format: - type: string - enum: - - top - - bottom - description: The type of check stock being printed. Check the "Types of check stock" section in this [link](https://support.gusto.com/article/999877761000000/Pay-your-team-by-check) for more info on check types - starting_check_number: - type: integer - description: The starting check number we will start generating checks from. Use to override the sequence that will be used to generate check numbers. - x-tags: - - Payrolls - Create-Report-Body: - description: Request body for creating a custom report. - type: object - required: - - columns - - groupings - - file_type - properties: - columns: - type: array - description: Columns to include in the report - items: + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payments-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payments-Preview-Body" + required: true + x-speakeasy-name-override: preview + x-speakeasy-group: contractorPayments + "/v1/contractor_payments/{contractor_payment_uuid}/receipt": + get: + summary: Get a single contractor payment receipt + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_uuid + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + operationId: get-v1-contractor_payments-contractor_payment_uuid-receipt + security: + - CompanyAccessAuth: [] + description: |- + Returns a contractor payment receipt. + + Notes: + * Receipts are only available for direct deposit payments and are only available once those payments have been funded. + * Payroll Receipt requests for payrolls which do not have receipts available (e.g. payment by check) will return a 404 status. + * Hour and dollar amounts are returned as string representations of numeric decimals. + * Dollar amounts are represented to the cent. + * If no data has yet be inserted for a given field, it defaults to “0.00” (for fixed amounts). + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Receipt" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getReceipt + x-speakeasy-group: contractorPayments + "/v1/contractor_payments/{contractor_payment_uuid}/fund": + put: + summary: Fund a contractor payment [DEMO] + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_uuid + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + operationId: get-v1-contractor_payments-contractor_payment_uuid-fund + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n>\n> This action is only available in the Demo environment\n\nSimulate funding a contractor payment. Funding only occurs automatically in the production environment when bank transactions are generated. Use this action in the demo environment to transition a contractor payment's `status` from `Unfunded` to `Funded`. A `Funded` status is required for generating a contractor payment receipt.\n\nscope: `payrolls:run`" + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: fund + "/v1/contractor_payments/{contractor_payment_id}/pdf": + get: + summary: Get a contractor payment PDF + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string enum: - - bank_account_account_number - - bank_account_routing_number - - bank_account_type - - bank_account - - bonus - - cash_tips - - check_amount - - check_date - - commission - - date_of_birth - - double_overtime_earnings - - double_overtime_hours - - double_overtime_rate - - employee_additional_taxes - - employee_benefit_contributions - - employee_compensation_time_period - - employee_compensation - - employee_deductions - - employee_department - - employee_email - - employee_donations - - employee_federal_income_tax - - employee_first_name - - employee_last_name - - employee_middle_initial - - employee_medicare_additional_tax - - employee_medicare_tax - - employee_phone_number - - employee_social_security_tax - - employee_taxes - - employee_uuid - - employee_work_email - - employer_additional_taxes - - employer_benefit_contributions - - employer_cost - - employer_futa_tax - - employer_medicare_tax - - employer_social_security_tax - - employer_suta_tax - - employer_taxes - - employment_type - - employment - - end_date - - garnishments - - gross_earnings - - holiday_earnings - - holiday_hours - - home_address_city - - home_address_state - - home_address_street - - home_address_zip - - home_address - - job_title - - net_pay - - one_time_reimbursements - - overtime_earnings - - overtime_hours - - overtime_rate - - paid_time_off_earnings - - paid_time_off_hours - - paid_time_off_rate - - pay_period_end - - pay_period_start - - paycheck_tips - - payment_method - - payroll_type - - payroll_uuid - - preferred_first_name - - recurring_reimbursements - - regular_earnings - - regular_hours - - regular_rate - - reimbursements - - risk_class_code - - sick_rate - - sick_time_off_earnings - - sick_time_off_hours - - start_date - - total_employer_benefit_contributions - - total_time_off_earnings - - total_time_off_hours - - work_address_city - - work_address_street - - work_address_zip - groupings: - type: array - description: How to group the report - items: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_id + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + operationId: get-v1-contractor_payments-contractor_payment_id-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get a PDF document for a single contractor payment. + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: A PDF document of the contractor payment + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/contractors/{contractor_uuid}/rehire": + post: + summary: Schedule a contractor rehire + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string enum: - - payroll - - employee - - work_address - - work_address_state - custom_name: - type: string - description: The title of the report - file_type: - type: string - description: The type of file to generate - enum: - - csv - - json - - pdf - with_totals: - type: boolean - description: Whether to include subtotals and grand totals in the report - default: false - start_date: - type: string - format: date - description: Start date of data to filter by - example: '2024-01-01' - end_date: - type: string - format: date - description: End date of data to filter by - example: '2024-04-01' - dismissed_start_date: - type: string - format: date - description: Dismissed start date of employees to filter by - example: '2024-01-01' - dismissed_end_date: - type: string - format: date - description: Dismissed end date of employees to filter by - example: '2024-04-01' - payment_method: - type: string - description: Payment method to filter by - enum: - - check - - direct_deposit - employment_type: - type: string - description: Employee employment type to filter by - enum: - - exempt - - salaried_nonexempt - - nonexempt - - commission_only_exempt - - commission_only_nonexempt - employment_status: - type: string - description: Employee employment status to filter by - enum: - - active_full_time - - active_part_time - - active_part_time_eligible - - active_variable - - active_seasonal - - active - - dismissed - employee_uuids: - type: - - array - - 'null' - description: Employees to filter by - items: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: type: string - department_uuids: - type: array - description: Departments to filter by - items: + operationId: post-v1-contractors-contractor_uuid-rehire + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Schedules a contractor rehire for a given date. Creates a new employment record for the contractor. + + ## Prerequisites + Before calling this endpoint: + 1. The contractor must be inactive (previously dismissed) + 2. The contractor must not already have an upcoming employment + + ## Related webhooks + - `contractor.reactivated`: Fires when the contractor becomes active again (on or after start_date) + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + start_date: + type: string + format: date + description: The rehire date + example: '2025-07-01' + required: + - start_date + delete: + summary: Cancel a pending contractor rehire + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - work_address_uuids: - type: array - description: Work addresses to filter by - items: + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: type: string - x-tags: - - Reports - General-Ledger-Report-Body: - description: Request body for generating a general ledger report. The report can be aggregated by different dimensions such as job or department. - type: object - required: - - aggregation - properties: - aggregation: - type: string - enum: - - default - - job - - department - - integration - description: The breakdown of the report. Use 'default' for no split. - integration_type: - description: The kind of integration set up for the company. Required when `aggregation` is 'integration'. Must be null if `aggregation` is not 'integration'. - anyOf: - - type: string - enum: - - xero - - qbo - - type: 'null' - x-tags: - - Reports - General-Ledger-Report: - type: object - description: A request for a general ledger report. The report is generated asynchronously and the URL is available via the report GET endpoint using the returned `request_uuid`. - properties: - payroll_uuid: - type: string - format: uuid - description: The UUID of the payroll record for which the report was generated. - aggregation: - type: string - enum: - - default - - job - - department - - integration - description: The breakdown level used for the report. - integration_type: - type: - - string - - 'null' - description: The `integration_type` used for the report when `aggregation` is 'integration' (e.g., `xero`, `qbo`). Otherwise, this will be null or an empty string. - request_uuid: - type: string - format: uuid - description: UUID to use for polling the report status. - x-examples: - example: - payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 - aggregation: integration - integration_type: xero - request_uuid: 550e8400-e29b-41d4-a716-446655440000 - Time-Sheet-Create-Body: - type: object - description: Request body for creating a time sheet. - required: - - entity_uuid - - entity_type - - time_zone - - shift_started_at - properties: - entity_uuid: - type: string - description: Unique identifier of the entity associated with the time sheet. - entity_type: - type: string - description: Type of entity associated with the time sheet. - job_uuid: - type: string - description: Unique identifier of the job for which time is tracked. - time_zone: - type: string - description: Time zone of where the time is tracked. - shift_started_at: - type: string - format: date-time - description: ISO 8601 timestamp of when the shift was started. - shift_ended_at: - type: string - format: date-time - description: ISO 8601 timestamp of when the shift was ended. If the shift is still ongoing you can omit this field. - metadata: - type: object - additionalProperties: + operationId: delete-v1-contractors-contractor_uuid-rehire + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Cancels a pending contractor rehire. For future-dated rehires, cancellation is available anytime before the date. + For past-dated rehires, cancellation is only available within the 2-day grace period. + + ## Prerequisites + Before calling this endpoint: + - The contractor must have a pending rehire (upcoming employment) + + ## Related webhooks + - `contractor.deactivated`: Fires when the contractor returns to inactive state after cancellation + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/contractors/{contractor_uuid}/termination": + post: + summary: Schedule a contractor termination + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - maxLength: 500 - propertyNames: + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: type: string - maxLength: 40 - maxProperties: 50 - description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. - entries: - type: array - description: Entries associated with the time sheet. - items: - type: object - properties: - hours_worked: - type: number - format: float - maxDecimalPlaces: 3 - minimum: 0.001 - description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. - pay_classification: - type: string - description: Pay classification for the entry. - enum: - - Regular - - Overtime - - Double overtime - x-examples: - Example: - entity_uuid: 123e4567-e89b-12d3-a456-426614174000 - entity_type: Employee - job_uuid: 123e4567-e89b-12d3-a456-426614174000 - time_zone: America/New_York - shift_started_at: '2024-06-10T09:00:00Z' - shift_ended_at: '2024-06-10T17:00:00Z' - metadata: - custom_field: custom value - entries: - - pay_classification: Regular - hours_worked: 1.5 - x-tags: - - Time Tracking - Time-Sheet-Update-Body: - type: object - description: Request body for updating a time sheet. - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - entity_uuid: - type: string - description: Unique identifier of the entity associated with the time sheet. - example: 123e4567-e89b-12d3-a456-426614174000 - entity_type: - type: string - description: Type of entity associated with the time sheet. - example: Employee - job_uuid: - type: string - description: Unique identifier of the job for which time was tracked. Currently is only supported for employees. - example: 123e4567-e89b-12d3-a456-426614174000 - time_zone: - type: string - description: Time zone of where the time was tracked. - example: America/New_York - shift_started_at: - type: string - format: date-time - description: The start time of the shift. Timestamp should be in ISO8601 - example: '2024-06-10T09:00:00Z' - shift_ended_at: - type: string - format: date-time - description: The end time of the shift. If the shift is still ongoing this will be null. - example: '2024-06-10T17:00:00Z' - metadata: + operationId: post-v1-contractors-contractor_uuid-termination + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Schedules a contractor dismissal for a given date. Supports both immediate (past dates) and future-dated dismissals. + + ## Prerequisites + Before calling this endpoint: + 1. The contractor must be active (no existing pending dismissal) + 2. The contractor must have a current employment + + ## Related webhooks + - `contractor.deactivated`: Fires when the contractor becomes inactive (on or after end_date) + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: type: object - additionalProperties: - type: string - maxLength: 500 - propertyNames: - type: string - maxLength: 40 - maxProperties: 50 - description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. - entries: - type: array - description: Entries associated with the time sheet. - items: - type: object - properties: - uuid: - type: string - description: Unique identifier of the entry. - hours_worked: - type: number - format: float - maxDecimalPlaces: 3 - minimum: 0.001 - description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. - pay_classification: - type: string - description: Pay classification for the entry. - enum: - - Regular - - Overtime - - Double overtime - x-examples: - Example: - version: 72deb67e16f7b92713c00d3582fa6c68 - entity_uuid: 123e4567-e89b-12d3-a456-426614174000 - entity_type: Employee - job_uuid: 123e4567-e89b-12d3-a456-426614174000 - time_zone: America/New_York - shift_started_at: '2024-06-10T09:00:00Z' - shift_ended_at: '2024-06-10T17:00:00Z' - metadata: - custom_field: custom value - entries: - - uuid: 123e4567-e89b-12d3-a456-426614174000 - hours_worked: 1.5 - x-tags: - - Time Tracking - Partner-Managed-Company-Create-Request: - type: object - required: - - user - - company - properties: - user: - type: object - description: Information for the user who will be the primary payroll administrator for the new company. - required: - - first_name - - last_name - - email - properties: - first_name: - type: string - description: The first name of the user who will be the primary payroll admin. - last_name: - type: string - description: The last name of the user who will be the primary payroll admin. - email: - type: string - description: The email of the user who will be the primary payroll admin. - phone: - type: string - description: The phone number of the user who will be the primary payroll admin. - company: - type: object - required: - - name - properties: - name: - type: string - description: The legal name of the company. - trade_name: - type: string - description: The name of the company. - ein: - type: string - description: The employer identification number (EIN) of the company. - contractor_only: - type: boolean - description: Whether the company only supports contractors. Should be set to true if the company has no W-2 employees. If not passed, will default to false (i.e. the company will support both contractors and employees). - x-examples: - Example: - user: - first_name: Frank - last_name: Ocean - email: frank@example.com - phone: '2345558899' - company: - name: Frank's Ocean, LLC - trade_name: Frank's Ocean - ein: '123456789' - contractor_only: false - Partner-Managed-Company: - description: Object returned when creating a partner managed company - type: object - properties: - access_token: - type: string - description: Access token that can be used for OAuth access to the account. Access tokens expire 2 hours after they are issued. - readOnly: true - refresh_token: - type: string - description: Refresh token that can be exchanged for a new access token. - readOnly: true - company_uuid: - type: string - description: Gusto's UUID for the company - readOnly: true - expires_in: - type: integer - description: Time of access_token expiration in seconds - readOnly: true - x-examples: - Example: - access_token: de6780bc506a0446309bd9362820ba8aed28aa506c71eedbe1c5c4f9dd350e54 - refresh_token: 8257e65c97202ed1726cf9571600918f3bffb2544b26e00a61df9897668c33a1 - company_uuid: d525dd21-ba6e-482c-be15-c2c7237f1364 - expires_in: 7200 - Partner-Managed-Company-Migration-Readiness-Response: - description: '' - allOf: - - type: object - properties: - ready_to_migrate: - type: boolean - description: Indicates if the company is ready to be migrated. - company_uuid: - type: string - description: The company UUID - - "$ref": "#/components/schemas/Migration-Blocker" - - "$ref": "#/components/schemas/Migration-Warning" - x-examples: - Example: - ready_to_migrate: false - company_uuid: 39abf9b9-650b-4e67-89a0-389dc6ee8a71 - errors: - - error_key: base - category: invalid_operation - message: The operation is already performed for this company. - metadata: - key: migrated_company - warnings: [] - Partner-Managed-Company-Accept-Terms-Of-Service-Request: - type: object - description: '' - required: - - email - - ip_address - - external_user_id - properties: - email: - type: string - description: The user's email address on Gusto. You can retrieve the user's email via company's `/admins`, `/employees`, `/signatories`, and `/contractors` endpoints. - ip_address: - type: string - description: The IP address of the user who viewed and accepted the Terms of Service. - external_user_id: - type: string - description: The user ID on your platform. - x-examples: - Example: - ip_address: 192.168.1.2 - external_user_id: '2005648946132' - email: jsmith99@gmail.com - Partner-Managed-Company-Retrieve-Terms-Of-Service-Request: - type: object - required: - - email - properties: - email: - type: string - description: The user's email address on Gusto. You can retrieve the user's email via company's `/admins`, `/employees`, `/signatories`, and `/contractors` endpoints. - x-examples: - Example: - email: jsmith99@gmail.com - Partner-Managed-Company-Terms-Of-Service-Response: - description: '' - type: object - properties: - latest_terms_accepted: - type: boolean - description: Whether the latest terms have been accepted by the user. - x-examples: - Example: - latest_terms_accepted: true - Provision-Create-Request-Body: - type: object - required: - - user - - company - properties: - user: - type: object - description: Information for the user who will be the primary payroll administrator for the new company. - required: - - first_name - - last_name - - email - properties: - first_name: - type: string - description: The first name of the user who will be the primary payroll admin. - last_name: - type: string - description: The last name of the user who will be the primary payroll admin. - email: - type: string - description: The email of the user who will be the primary payroll admin. - phone: - type: string - description: The phone number of the user who will be the primary payroll admin. - company: - type: object - required: - - name - properties: - name: + properties: + end_date: + type: string + format: date + description: The date of dismissal + example: '2025-06-15' + required: + - end_date + delete: + summary: Cancel a pending contractor termination + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: + type: string + operationId: delete-v1-contractors-contractor_uuid-termination + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Cancels a pending contractor dismissal. For future-dated dismissals, cancellation is available anytime before the date. + For past-dated dismissals, cancellation is only available within the 2-day grace period. + + ## Prerequisites + Before calling this endpoint: + - The contractor must have a pending dismissal (scheduled or within the grace period) + + ## Related webhooks + - `contractor.reactivated`: Fires when the contractor becomes active again after cancellation + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/contractors/{contractor_uuid}": + get: + summary: Get a contractor + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + - name: include + in: query + explode: false + required: false + schema: + type: array + items: type: string - description: The legal name of the company. - trade_name: + enum: + - company_name + - portal_invitations + x-enumDescriptions: + company_name: Include the name of the company that the contractor is associated with + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each contractor response. Multiple options are comma separated. + operationId: get-v1-contractors-contractor_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a contractor. + + scope: `contractors:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a contractor + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: put-v1-contractors-contractor_uuid + security: + - CompanyAccessAuth: [] + description: "Update a contractor.\n\n> \U0001F6A7 Warning\n>\n> Watch out when changing a contractor's type (when the contractor is finished onboarding). Specifically, changing contractor type can be dangerous since Gusto won't recognize and file two separate 1099s if they simply change from business to individual\n\nscope: `contractors:write`" + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Update-Request-Body" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a contractor + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: delete-v1-contractors-contractor_uuid + security: + - CompanyAccessAuth: [] + description: |- + A contractor can only be deleted when there are no contractor payments. + + scope: `contractors:manage` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/contractors": + get: + summary: Get contractors of a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: search_term + in: query + required: false + description: A string to search for in the object's names + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(created_at|type|onboarding_status|name)(:(asc|desc))?(,(created_at|type|onboarding_status|name)(:(asc|desc))?)*$" + example: created_at:asc + description: 'Sort by one or more fields. Options: created_at, type, onboarding_status, name. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.' + - name: onboarded + in: query + required: false + description: Filters contractors by those who have completed onboarding + schema: + type: boolean + - name: onboarded_active + in: query + required: false + description: Filters contractors who are ready to work (onboarded AND active today) + schema: + type: boolean + - name: terminated + in: query + required: false + description: Filters contractors by those who have been or are scheduled to be dismissed + schema: + type: boolean + - name: terminated_today + in: query + required: false + description: Filters contractors by those who have been dismissed and whose dismissal is in effect today (excludes active and scheduled to be dismissed) + schema: + type: boolean + - name: include + in: query + explode: false + required: false + schema: + type: array + items: type: string - description: The name of the company. - ein: + enum: + - company_name + - portal_invitations + x-enumDescriptions: + company_name: Include the name of the company that the contractor is associated with + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each contractor response. Multiple options are comma separated. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_uuid-contractors + security: + - CompanyAccessAuth: [] + description: |- + Get all contractors, active and inactive, individual and business, for a company. + + scope: `contractors:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create a contractor + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: post-v1-companies-company_uuid-contractors + security: + - CompanyAccessAuth: [] + description: |- + Create an individual or business contractor. + + scope: `contractors:manage` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Create-Request-Body" + required: true + x-speakeasy-name-override: create + "/v1/contractors/{contractor_uuid}/onboarding_status": + get: + summary: Get the contractor's onboarding status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: get-v1-contractors-contractor_uuid-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + Retrieves a contractor's onboarding status. The data returned helps inform the required onboarding steps and respective completion status. + + ## onboarding_status + + ### Admin-facilitated onboarding + | onboarding_status | Description | + |:------------------|------------:| + | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | + | `admin_onboarding_review` | All information has been completed and admin needs to confirm onboarding. | + | `onboarding_completed` | Contractor has been fully onboarded and verified. | + + ### Contractor self-onboarding + + | onboarding_status | Description | + | --- | ----------- | + | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | + | `self_onboarding_not_invited` | Admin has the intention to invite the contractor to self-onboard (e.g., marking a checkbox), but the system has not yet sent the invitation. | + | `self_onboarding_invited` | Contractor has been sent an invitation to self-onboard. | + | `self_onboarding_started` | Contractor has started the self-onboarding process. | + | `self_onboarding_review` | Admin needs to review contractors's entered information and confirm onboarding. | + | `onboarding_completed` | Contractor has been fully onboarded and verified. | + + ## onboarding_steps + + | onboarding_steps | Requirement(s) to be completed | + |:-----------------|-------------------------------:| + | `basic_details` | Add individual contractor's first name, last name, social security number or Business name and EIN depending on the contractor type | + | `add_address` | Add contractor address. | + | `compensation_details` | Add contractor compensation. | + | `payment_details` | (optional) Set up contractor's direct deposit or set to check. | + | `sign_documents` | Contractor forms (e.g., W9) are generated & signed. | + | `file_new_hire_report` | Contractor new hire report is generated. | + + scope: `contractors:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getOnboardingStatus + put: + summary: Change the contractor's onboarding status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: put-v1-contractors-contractor_uuid-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + Updates a contractor's onboarding status. + + Below is a list of valid onboarding status changes depending on the intended action to be performed on behalf of the contractor. + + | Action | current onboarding_status | new onboarding_status | + |:------------------|:------------:|----------:| + | Mark a contractor as self-onboarding | `admin_onboarding_incomplete` | `self_onboarding_not_invited` | + | Invite a contractor to self-onboard | `admin_onboarding_incomplete` or `self_onboarding_not_invited` | `self_onboarding_invited` | + | Cancel a contractor's self-onboarding | `self_onboarding_invited` or `self_onboarding_not_invited` | `admin_onboarding_incomplete` | + | Review a contractor's self-onboarded info | `self_onboarding_started` | `self_onboarding_review` | + | Finish a contractor's onboarding | `admin_onboarding_review` or `self_onboarding_review` | `onboarding_completed` | + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Onboarding-Status-Update-Request-Body" + required: true + x-speakeasy-name-override: updateOnboardingStatus + "/v1/departments/{department_uuid}": + get: + summary: Get a department + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + operationId: get-department + security: + - CompanyAccessAuth: [] + description: |- + Get a department given the UUID + + scope: `departments:read` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a department + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + operationId: put-departments + security: + - CompanyAccessAuth: [] + description: |- + Update a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Conflict-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-Update-Request-Body" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a department + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + operationId: delete-department + security: + - CompanyAccessAuth: [] + description: |- + Delete a department. You cannot delete a department until all employees and contractors have been removed. + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + "/v1/departments/{department_uuid}/add": + put: + summary: Add people to a department + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + operationId: put-add-people-to-department + security: + - CompanyAccessAuth: [] + description: |- + Add employees and contractors to a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-People-Request-Body" + required: true + x-speakeasy-name-override: addPeople + "/v1/departments/{department_uuid}/remove": + put: + summary: Remove people from a department + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + operationId: put-remove-people-from-department + security: + - CompanyAccessAuth: [] + description: |- + Remove employees and contractors from a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-People-Request-Body" + required: true + x-speakeasy-name-override: removePeople + "/v1/companies/{company_uuid}/departments": + get: + summary: Get all departments of a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-companies-departments + security: + - CompanyAccessAuth: [] + description: |- + Get all of the departments for a given company with the employees and contractors assigned to that department. + + scope: `departments:read` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getAll + post: + summary: Create a department + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-departments + security: + - CompanyAccessAuth: [] + description: |- + Create a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-Create-Request-Body" + required: true + x-speakeasy-name-override: create + "/v1/contractors/{contractor_uuid}/documents": + get: + summary: Get all contractor documents + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + operationId: get-v1-contractor-documents + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all contractor's documents + + scope: `contractor_documents:read` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorDocuments + x-speakeasy-name-override: getAll + "/v1/documents/{document_uuid}": + get: + summary: Get a contractor document + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_uuid + in: path + description: The UUID of the document + required: true + schema: + type: string + operationId: get-v1-contractor-document + security: + - CompanyAccessAuth: [] + description: |- + Get a contractor document. + + scope: `contractor_documents:read` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Document" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: contractorDocuments + "/v1/documents/{document_uuid}/pdf": + get: + summary: Get the contractor document pdf + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_uuid + in: path + description: The UUID of the document + required: true + schema: + type: string + operationId: get-v1-contractor-document-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the contractor document pdf. + + scope: `contractor_documents:read` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Document-Pdf" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorDocuments + x-speakeasy-name-override: getPdf + "/v1/documents/{document_uuid}/sign": + put: + summary: Sign a contractor document + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_uuid + in: path + description: The UUID of the document + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + schema: + type: string + operationId: put-v1-contractor-document-sign + security: + - CompanyAccessAuth: [] + description: |- + Sign a contractor document. + + scope: `contractor_documents:write` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Document-Signed" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + fields: + type: array + description: List of fields and the values they will be set to. + items: + type: object + properties: + key: + type: string + description: Unique identifier of the field + value: + type: string + description: Value for the field + agree: + type: boolean + description: Whether you agree to sign electronically + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + required: + - fields + - agree + required: true + x-speakeasy-group: contractorDocuments + x-speakeasy-name-override: sign + "/v1/companies/{company_id}/earning_types": + get: + summary: Get all earning types for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-company_id-earning_types + security: + - CompanyAccessAuth: [] + description: |- + A payroll item in Gusto is associated to an earning type to name the type of earning described by the payroll item. + + #### Default Earning Type + Certain earning types are special because they have tax considerations. Those earning types are mostly the same for every company depending on its legal structure (LLC, Corporation, etc.) + + #### Custom Earning Type + Custom earning types are all the other earning types added specifically for a company. + + scope: `payrolls:read` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Earning-Type-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: earningTypes + x-speakeasy-name-override: list + post: + summary: Create a custom earning type + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-earning_types + security: + - CompanyAccessAuth: [] + description: |- + Create a custom earning type. + + If an inactive earning type exists with the same name, this will reactivate it instead of creating a new one. + + scope: `payrolls:write` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Earning-Type" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - name + properties: + name: + type: string + default: Gym Membership + description: The name of the custom earning type. + required: true + x-speakeasy-group: earningTypes + x-speakeasy-name-override: create + "/v1/companies/{company_id}/earning_types/{earning_type_uuid}": + put: + summary: Update an earning type + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: earning_type_uuid + in: path + description: The UUID of the earning type + required: true + schema: + type: string + operationId: put-v1-companies-company_id-earning_types-earning_type_uuid + security: + - CompanyAccessAuth: [] + description: |- + Update an earning type. + + scope: `payrolls:write` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Earning-Type" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the custom earning type. + required: true + x-speakeasy-group: earningTypes + x-speakeasy-name-override: update + delete: + summary: Deactivate an earning type + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: earning_type_uuid + in: path + description: The UUID of the earning type + required: true + schema: + type: string + operationId: delete-v1-companies-company_id-earning_types-earning_type_uuid + security: + - CompanyAccessAuth: [] + description: |- + Deactivate an earning type. + + scope: `payrolls:write` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: earningTypes + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/bank_accounts": + get: + summary: List employee bank accounts + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-employees-employee_id-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Returns all employee bank accounts. + + scope: `employee_payment_methods:read` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeePaymentMethods + x-speakeasy-name-override: getBankAccounts + post: + summary: Create an employee bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Creates an employee bank account. An employee can have multiple bank accounts. Note that creating an employee bank account will also update the employee's payment method. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account-Request" + required: true + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: create + "/v1/employees/{employee_id}/bank_accounts/{bank_account_uuid}": + put: + summary: Update an employee bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: bank_account_uuid + in: path + description: The UUID of the bank account + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Updates an employee bank account. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account-Request" + required: true + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: updateBankAccount + delete: + summary: Delete an employee bank account + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: bank_account_uuid + in: path + description: The UUID of the bank account + required: true + schema: + type: string + operationId: delete-v1-employees-employee_id-bank_accounts-bank_account_id + security: + - CompanyAccessAuth: [] + description: |- + Deletes an employee bank account. To update an employee's bank account details, delete the bank account first and create a new one. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: deleteBankAccount + "/v1/employees/{employee_id}/employee_benefits": + get: + summary: Get all benefits for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_benefits + description: |- + Available options: + - all_benefits: Include all effective dated benefits for each employee instead of only the current benefits. + operationId: get-v1-employees-employee_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. + + Returns an array of all employee benefits for this employee + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: get + post: + summary: Create an employee benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only create employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit-Create-Request" + required: true + x-speakeasy-name-override: create + x-speakeasy-group: employeeBenefits + "/v1/employee_benefits/{employee_benefit_id}": + get: + summary: Get an employee benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_benefit_id + in: path + description: The UUID of the employee benefit. + required: true + schema: + type: string + operationId: get-v1-employee_benefits-employee_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: retrieve + x-speakeasy-group: employeeBenefits + put: + summary: Update an employee benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_benefit_id + in: path + description: The UUID of the employee benefit. + required: true + schema: + type: string + operationId: put-v1-employee_benefits-employee_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only update employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit-Update-Request" + required: true + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: update + delete: + summary: Delete an employee benefit + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_benefit_id + in: path + description: The UUID of the employee benefit. + required: true + schema: + type: string + operationId: delete-v1-employee_benefits-employee_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only delete employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/custom_fields": + get: + summary: Get an employee's custom fields + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-employees-employee_id-custom_fields + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of the employee's custom fields. + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Custom-Field-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getCustomFields + "/v1/employees/{employee_uuid}/federal_taxes": + get: + summary: Get federal taxes for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-federal_taxes + security: + - CompanyAccessAuth: [] + description: |- + Returns federal tax information for an employee. The response structure varies based on the w4_data_type (pre_2020_w4 or rev_2020_w4). + + scope: `employee_federal_taxes:read` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Federal-Tax" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: getFederalTaxes + put: + summary: Update federal taxes for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-federal_taxes + security: + - CompanyAccessAuth: [] + description: |- + Updates federal tax (W4) information for an employee. Only rev_2020_w4 format is accepted for updates. + + scope: `employee_federal_taxes:write` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Federal-Tax" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - version + - w4_data_type + - filing_status + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + example: 56a489ce86ed6c1b0f0cecc4050a0b01 + w4_data_type: + type: string + enum: + - rev_2020_w4 + description: The version of the W4 form. Only rev_2020_w4 is accepted for updates. + filing_status: + type: string + enum: + - Single + - Married + - Head of Household + - Exempt from withholding + description: 'Determines which tax return form an individual will use. One of: Single, Married, Head of Household, Exempt from withholding.' + example: Single + two_jobs: + type: boolean + description: If there are only two jobs (e.g., you and your spouse each have a job), set to true. + dependents_amount: + type: number + description: Amount for dependents; a dependent entitles the taxpayer to claim a dependency exemption. + other_income: + type: number + description: Other income amount. + deductions: + type: number + description: Deductions other than the standard deduction to reduce withholding. + extra_withholding: + type: number + description: Additional amount to be withheld from each paycheck. + federal_withholding_allowance: + type: integer + description: Only applicable when w4_data_type is 'pre_2020_w4' (pre-2020 W4 forms are deprecated for updates). + additional_withholding: + type: number + description: Only applicable when w4_data_type is 'pre_2020_w4' (pre-2020 W4 forms are deprecated for updates). + required: true + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: updateFederalTaxes + "/v1/employees/{employee_id}/forms": + get: + summary: Get all employee forms + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employee-forms + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all employee's forms + + scope: `employee_forms:read` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + x-speakeasy-group: employeeForms + "/v1/employees/{employee_id}/forms/{form_id}": + get: + summary: Get an employee form + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + operationId: get-v1-employee-form + security: + - CompanyAccessAuth: [] + description: |- + Get an employee form + + scope: `employee_forms:read` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeForms + x-speakeasy-name-override: get + "/v1/employees/{employee_id}/forms/{form_id}/pdf": + get: + summary: Get the employee form pdf + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + operationId: get-v1-employee-form-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the link to the employee form PDF + + scope: `employee_forms:read` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form-Pdf" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeForms + x-speakeasy-name-override: getPdf + "/v1/employees/{employee_id}/forms/{form_id}/sign": + put: + summary: Sign an employee form + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + schema: + type: string + operationId: put-v1-employee-form-sign + security: + - CompanyAccessAuth: [] + description: |- + Sign an employee form. + + The optional preparer attributes are only valid for I-9 form. When a preparer is used, the + first name, last name, street address, city, state, and zip for that preparer are all required. + + scope: `employee_forms:sign` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + signature_text: + type: string + description: The signature + agree: + type: boolean + description: Whether you agree to sign electronically + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + preparer: + type: boolean + description: Whether there is a preparer + preparer_first_name: + type: string + preparer_last_name: + type: string + preparer_street_1: + type: string + preparer_street_2: + type: string + preparer_city: + type: string + preparer_state: + type: string + preparer_zip: + type: string + preparer_agree: + type: string + description: Whether preparer agrees to sign electronically + preparer2: + type: boolean + description: Whether there is a 2nd preparer + preparer2_first_name: + type: string + preparer2_last_name: + type: string + preparer2_street_1: + type: string + preparer2_street_2: + type: string + preparer2_city: + type: string + preparer2_state: + type: string + preparer2_zip: + type: string + preparer2_agree: + type: string + description: Whether 2nd preparer agrees to sign electronically + preparer3: + type: boolean + description: Whether there is a 3rd preparer + preparer3_first_name: + type: string + preparer3_last_name: + type: string + preparer3_street_1: + type: string + preparer3_street_2: + type: string + preparer3_city: + type: string + preparer3_state: + type: string + preparer3_zip: + type: string + preparer3_agree: + type: string + description: Whether 3rd preparer agrees to sign electronically + preparer4: + type: boolean + description: Whether there is a 4th preparer + preparer4_first_name: + type: string + preparer4_last_name: + type: string + preparer4_street_1: + type: string + preparer4_street_2: + type: string + preparer4_city: + type: string + preparer4_state: + type: string + preparer4_zip: + type: string + preparer4_agree: + type: string + description: Whether 4th preparer agrees to sign electronically + required: + - signature_text + - agree + required: true + x-speakeasy-group: employeeForms + x-speakeasy-name-override: sign + "/v1/companies/{company_id}/employees/payment_details": + get: + summary: Get employee payment details for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: employee_uuid + in: query + required: false + description: The UUID of a specific employee to fetch payment details for. + schema: + type: string + - name: payroll_uuid + in: query + required: false + description: The UUID of a specific payroll to fetch payment details for employees on that payroll. + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-employees-payment_details + security: + - CompanyAccessAuth: [] + description: |- + Fetches payment details for employees in a given company. Results are paginated. + + Use the `employee_uuid` query parameter to filter for a single employee. + Use the `payroll_uuid` query parameter to filter for employees on a specific payroll. + Providing both `employee_uuid` and `payroll_uuid` will result in a 422 error. + An empty array is returned if the company has no employees or if no employees match the filter criteria. + + The `encrypted_account_number` in the `splits` array is only visible if the `employee_payment_methods:read:account_number` scope is present. + + scope: `employee_payment_methods:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: A list of employee payment details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Payment-Details-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/employees/{employee_id}/payment_method": + get: + summary: Get payment method for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Returns the payment method for an employee (e.g. Check or Direct Deposit with split configuration). + + scope: `employee_payment_methods:read` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: get + put: + summary: Update payment method for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Updates the payment method for an employee. Can set to Check or Direct Deposit with split configuration. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - version + - type + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + example: 63859768485e218ccf8a449bb60f14ed + type: + type: string + enum: + - Check + - Direct Deposit + description: The payment method type. If type is Check, split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. + split_by: + anyOf: + - type: string + enum: + - Percentage + - Amount + - type: 'null' + description: How the payment will be split. If Percentage, split amounts must add up to exactly 100. If Amount, values are in cents and the last split amount must be null to capture the remainder. + splits: + type: + - array + - 'null' + description: Array of payment splits. Required when type is Direct Deposit. + items: + type: object + properties: + uuid: + type: string + description: The bank account UUID. + name: + type: string + description: The bank account name. + priority: + type: integer + description: Order of priority for each payment split; priority 1 is the first account paid. Must be unique and sequential. + split_amount: + type: + - number + - 'null' + description: If split_by is Amount, value is in cents (e.g., 500 for $5.00) and exactly one account must have null to capture the remainder. If split_by is Percentage, value is the percentage (e.g., 60 for 60%). + required: true + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: update + "/v1/employees/{employee_id}/rehire": + get: + summary: Get an employee rehire + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Retrieve an employee's rehire, which contains information on when the employee returns to work. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire" + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: getRehire + post: + summary: Create an employee rehire + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Rehire is created whenever an employee is scheduled to return to the company. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire-Body" + required: true + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: createRehire + put: + summary: Update an employee rehire + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Update an employee's rehire. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire-Update-Request-Body" + required: true + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: rehire + delete: + summary: Delete an employee rehire + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: delete-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Delete an employee rehire. An employee rehire cannot be deleted if it's active (past effective date). + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: deleteRehire + "/v1/employees/{employee_uuid}/section603_high_earner_statuses": + get: + summary: Get all Section 603 high earner statuses for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_uuid-section603_high_earner_statuses + security: + - CompanyAccessAuth: [] + description: |- + Get all Section 603 high earner statuses for an employee across all years. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful - with records + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + post: + summary: Create a Section 603 high earner status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_uuid-section603_high_earner_statuses + security: + - CompanyAccessAuth: [] + description: |- + Create a Section 603 high earner status for an employee for a specific year. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: conflict - record already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: unprocessable entity - invalid is_high_earner + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-Create-Request" + required: true + "/v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year}": + get: + summary: Get a Section 603 high earner status for a specific year + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: effective_year + in: path + description: The effective year for the Section 603 status + required: true + schema: + type: integer + operationId: get-v1-employees-employee_uuid-section603_high_earner_statuses-effective_year + security: + - CompanyAccessAuth: [] + description: |- + Get a Section 603 high earner status for an employee for a specific year. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + '404': + description: Not Found - employee does not exist + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity - invalid effective_year + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + patch: + summary: Update a Section 603 high earner status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: effective_year + in: path + description: The effective year for the Section 603 status + required: true + schema: + type: integer + operationId: patch-v1-employees-employee_uuid-section603_high_earner_statuses-effective_year + security: + - CompanyAccessAuth: [] + description: |- + Update a Section 603 high earner status for an employee for a specific year. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + '404': + description: Not Found - employee does not exist + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity - invalid is_high_earner + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-Update-Request" + required: true + "/v1/employees/{employee_uuid}/state_taxes": + get: + summary: Get an employee's state taxes + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-state_taxes + security: + - CompanyAccessAuth: [] + description: |- + Get attributes relevant for an employee's state taxes. + + The data required to correctly calculate an employee's state taxes varies by both home and work location. This API returns information about each question that must be answered grouped by state. Mostly commonly, an employee lives and works in the same state and will only have questions for a single state. The response contains metadata about each question, the type of answer expected, and the current answer stored in Gusto for that question. + + Answers are represented by an array. Today, this array can only be empty or contain exactly one element, but is designed to allow for forward compatibility with effective-dated fields. The `valid_from` and `valid_up_to` fields are optional and currently ignored. + + ## About filing new hire reports + Payroll Admins are responsible for filing a new hire report for each Employee. The `file_new_hire_report` question will only be listed if: + - the `employee.onboarding_status` is one of the following: + - `admin_onboarding_incomplete` + - `self_onboarding_awaiting_admin_review` + - that employee's work state requires filing a new hire report + + scope: `employee_state_taxes:read` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-State-Taxes-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: getStateTaxes + put: + summary: Update an employee's state taxes + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-state_taxes + security: + - CompanyAccessAuth: [] + description: |- + Update attributes relevant for an employee's state taxes. + + As described for the GET endpoint, the answers must be supplied in the effective-dated format, but currently only a single answer will be accepted. The `valid_from` and `valid_up_to` fields are optional and currently ignored. + + scope: `employee_state_taxes:write` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-State-Taxes-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-State-Taxes-Request" + required: true + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: updateStateTaxes + "/v1/employees/{employee_uuid}/time_off_activities": + get: + summary: Get employee time off activities + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: time_off_type + in: query + required: true + description: 'The time off type name you want to query data for. ex: ''sick'' or ''vacation''' + schema: + type: string + operationId: get-version-employees-time_off_activities + security: + - CompanyAccessAuth: [] + description: |- + Get employee time off activities. + + scope: `employee_time_off_activities:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Activity-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: getTimeOffActivities + "/v1/companies/{company_id}/reports/employees_annual_fica_wage": + post: + summary: Create an employees annual FICA wage report + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + operationId: post-v1-companies-company_id-reports-employees_annual_fica_wage + security: + - CompanyAccessAuth: [] + description: |- + Generates a report containing annual FICA (Federal Insurance Contributions Act) wage data for all employees in a company over a specified year range. + + This report provides detailed wage information subject to Social Security and Medicare taxes, useful for benefits integrations that need to verify employee earnings for compliance and benefit calculations. + + The report is generated asynchronously. After making this request, you will receive a `request_uuid` which can be used to poll the [Get a report](ref:get-v1-reports-request_uuid) endpoint to check the status and retrieve the report when complete. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '202': + description: accepted + content: + application/json: + schema: + "$ref": "#/components/schemas/Employees-Annual-Fica-Wage-Report-Acceptance" + '422': + description: unprocessable entity - start year before minimum + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - start_year + - end_year + properties: + start_year: + type: integer + description: The start year for the report (must be 2011 or later) + example: 2023 + end_year: + type: integer + description: The end year for the report (must be the current year or earlier, and must be >= start_year) + example: 2024 + required: true + "/v1/employees/{employee_id}": + get: + summary: Get an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: include + in: query + explode: false + required: false + schema: + type: array + items: type: string - description: The employer identification number (EIN) of the company. - states: - type: array - description: 'The states in which the company operates. States should be included by their two letter code, i.e. NY for New York. ' - items: - type: string - number_employees: - type: number - description: The number of employees in the company. - addresses: - type: array - uniqueItems: false - description: The locations for the company. This includes mailing, work, and filing addresses. - items: - type: object - properties: - street_1: - type: string - street_2: - type: - - string - - 'null' - city: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - state: - type: string - phone: - type: string - is_primary: - type: string - description: Whether or not this is a primary address for the company. If set to true, the address will be used as the mailing and filing address for the company and will be added as a work location. If set to false or not included, the address will only be added as a work location for the company. If multiple addresses are included, only one should be marked as primary. - x-examples: - Example: - user: - first_name: Frank - last_name: Ocean - email: frank@example.com - phone: '2345558899' - company: - name: Frank's Ocean, LLC - trade_name: Frank's Ocean - tier: complete - ein: '123456789' - states: - - CO - - CA - number_employees: 8 - addresses: - - street_1: 1201 16th Street Mall - street_2: Suite 350 - city: Denver - zip: '80202' - state: CO - phone: '2345678900' - is_primary: 'true' - - street_1: 525 20th Street - city: San Francisco - zip: '94107' - state: CA - phone: '2345678901' - Provision-Created: - type: object - properties: - account_claim_url: - type: string - description: A URL where the user should be redirected to complete their account setup inside of Gusto. - readOnly: true - x-examples: - Example: - account_claim_url: https://app.gusto.com/claim_account/3456789 - Payroll-Digest: - type: object - description: A payroll digest batch request. - x-examples: - success_status: - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 - batch_action: create - status: pending - properties: - uuid: - type: string - format: uuid - description: The unique identifier of the payroll digest batch. - readOnly: true - idempotency_key: - type: string - format: uuid - description: The idempotency key provided when creating the batch. - batch_action: - type: string - enum: - - create - description: The action being performed on the batch. - status: - type: string - enum: - - pending - - processing - - completed - - failed - description: The lifecycle status of the batch request itself. Terminal values are `completed` (processing finished — inspect `results` and `exclusions` for per-company outcomes) and `failed` (request failed; can be retried). This is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. - required: - - uuid - - idempotency_key - - batch_action - - status - Payroll-Digest-Results: - type: object - description: A payroll digest batch with processing results. - x-examples: - success_status: - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 - status: completed - submitted_at: '2026-04-01T14:30:00Z' - completed_at: '2026-04-01T14:30:12Z' - submitted_items: 4 - processed_items: 2 - excluded_items: 2 - results: - - idx: 0 - entity_type: company - uuid: c1111111-1111-1111-1111-111111111111 - name: Acme Corporation - status: success - blockers: - - type: missing_bank_account - description: Company bank account not set up - payrolls: - - payroll_uuid: - payroll_type: regular - display_title: Run biweekly payroll - auto_payroll: false - status: ready_to_start - pay_period: - start_date: '2026-03-16' - end_date: '2026-03-29' - check_date: '2026-04-03' - run_payroll_by: '2026-03-31' - pay_schedule: - uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee - frequency: Every other week - custom_name: Custom - every 1st and 15th - totals: - - payroll_uuid: 11111111-2222-3333-4444-555555555555 - payroll_type: regular - display_title: Run biweekly payroll - auto_payroll: true - status: submitted - pay_period: - start_date: '2026-03-02' - end_date: '2026-03-15' - check_date: '2026-03-20' - run_payroll_by: '2026-03-17' - pay_schedule: - uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee - frequency: Every other week - custom_name: Custom - every 1st and 15th - totals: - total_debit_amount: '15234.56' - net_pay: '11456.78' - total_employer_cost: '16890.12' - - idx: 3 - entity_type: company - uuid: c2222222-2222-2222-2222-222222222222 - name: Widget Inc - status: success - payrolls: [] - exclusions: - - idx: 1 - entity_type: company - uuid: c3333333-3333-3333-3333-333333333333 - status: failed - category: not_found - message: Company not found. - - idx: 2 - entity_type: company - uuid: c4444444-4444-4444-4444-444444444444 - status: failed - category: company_inactive - message: Company is inactive or not fully onboarded. - properties: - uuid: - type: string - format: uuid - description: The unique identifier of the payroll digest batch. - readOnly: true - idempotency_key: - type: string - format: uuid - description: The idempotency key provided when creating the batch. - status: - type: string - enum: - - pending - - processing - - completed - - failed - description: The lifecycle status of the batch request itself. Terminal values are `completed` (processing finished — inspect `results` and `exclusions` for per-company outcomes) and `failed` (request failed; can be retried). This is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. - submitted_at: - type: string - format: date-time - description: The timestamp when the batch was submitted. - completed_at: - type: - - string - - 'null' - format: date-time - description: The timestamp when the batch processing completed. - submitted_items: - type: - - integer - - 'null' - description: The number of companies submitted in the batch. - processed_items: - type: integer - description: The number of companies successfully processed. Only present once the batch reaches a terminal status. - excluded_items: - type: integer - description: The number of companies excluded from processing. Only present once the batch reaches a terminal status. - results: - type: array - description: Per-company results. Only present once the batch reaches a terminal status. Includes successfully processed companies (with their `payrolls` array, which may be empty when the company has no payrolls in the date window). - items: - type: object - properties: - idx: - type: integer - description: The index of this company in the original POST batch array. - entity_type: - type: string - enum: - - company - description: The type of entity this result represents. - uuid: - type: string - format: uuid - description: The UUID of the company. - name: - type: string - description: The legal/display name of the company. - status: - type: string - enum: - - success - - partial_success - - failed - description: The status of this company's digest computation. - blockers: + enum: + - all_compensations + - all_home_addresses + - company_name + - current_home_address + - custom_fields + - portal_invitations + x-enumDescriptions: + all_compensations: Include all effective dated compensations for each job instead of only the current compensation. Requires `compensations:read` scope. + all_home_addresses: Include all home addresses that have been associated to this employee + company_name: Include the name of the company that the employee is associated with + current_home_address: Include the employee's current home address + custom_fields: Include employees' custom fields + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each employee response. Multiple options are comma separated. + operationId: get-v1-employees + security: + - CompanyAccessAuth: [] + description: |- + Get an employee. + + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update an employee. + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees + security: + - CompanyAccessAuth: [] + description: |- + Update an employee. + + scope: `employees:write` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '409': + description: invalid version + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + first_name: + type: string + example: Weezy + middle_initial: + type: + - string + - 'null' + example: F + last_name: + type: string + example: Baby + email: + type: string + example: tunechi@cashmoneyrecords.com + work_email: + type: string + example: new.partner.work@example.com + date_of_birth: + type: string + example: '1991-01-31' + ssn: + type: string + pattern: "[0-9]{9}" + example: '824920233' + preferred_first_name: + type: + - string + - 'null' + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + required: true + x-speakeasy-name-override: update + delete: + summary: Delete an onboarding employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: delete-v1-employee + security: + - CompanyAccessAuth: [] + description: |- + Use this endpoint to delete an employee who is in onboarding. Deleting + an onboarded employee is not allowed and will return a 422 response. Please check out the Terminations api + if you need to terminate an onboarded employee. + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: cannot delete onboarded employee + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + "/v1/companies/{company_id}/employees": + get: + summary: Get employees of a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: location_uuid + in: query + required: false + description: Filter employees by a specific primary work location + schema: + type: string + - name: payroll_uuid + in: query + required: false + description: Filter employees by a specific payroll + schema: + type: string + - name: search_term + in: query + required: false + description: A string to search for in the object's names + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(created_at|name|onboarding_status)(:(asc|desc))?(,(created_at|name|onboarding_status)(:(asc|desc))?)*$" + example: created_at:asc + description: Sort employees by a given field. Cannot be used with search_term. Append `:asc` or `:desc` to specify direction (e.g., `name:desc`). Defaults to ascending. + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - all_compensations + - all_home_addresses + - company_name + - current_home_address + - custom_fields + - portal_invitations + x-enumDescriptions: + all_compensations: Include all effective dated compensations for each job instead of only the current compensation. Requires `compensations:read` scope. + all_home_addresses: Include all home addresses that have been associated to this employee + company_name: Include the name of the company that the employee is associated with + current_home_address: Include the employee's current home address + custom_fields: Include employees' custom fields + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each employee response. Multiple options are comma separated. + - name: onboarded + in: query + required: false + description: Filters employees by those who have completed onboarding + schema: + type: boolean + - name: onboarded_active + in: query + required: false + description: Filters employees who are ready to work (onboarded AND active today) + schema: + type: boolean + - name: terminated + in: query + required: false + description: Filters employees by those who have been or are scheduled to be terminated + schema: + type: boolean + - name: terminated_today + in: query + required: false + description: Filters employees by those who have been terminated and whose termination is in effect today (excludes active and scheduled to be terminated) + schema: + type: boolean + - name: uuids + in: query + explode: false + schema: + type: array + items: + type: string + required: false + description: Optional subset of employees to fetch. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-employees + security: + - CompanyAccessAuth: [] + description: |- + Get all of the employees, onboarding, active and terminated, for a given company. + + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Show-Employees" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: Company ID + schema: + type: string + operationId: post-v1-employees + security: + - CompanyAccessAuth: [] + description: |- + Create an employee. + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - first_name + - last_name + properties: + first_name: + type: string + middle_initial: + type: string + last_name: + type: string + email: + type: + - string + - 'null' + format: email + description: The employee's personal email address. Required if self_onboarding is true. + work_email: + type: string + format: email + description: The employee's work email address. + date_of_birth: + type: string + format: date + ssn: + type: string + pattern: "[0-9]{9}" + preferred_first_name: + type: string + self_onboarding: + type: boolean + description: If true, employee is expected to self-onboard. If false, payroll admin is expected to enter in the employee's onboarding information + x-speakeasy-name-override: create + "/v1/employees/{employee_id}/onboarding_status": + get: + summary: Get the employee's onboarding status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + # Description + Retrieves an employee's onboarding status. The data returned helps inform the required onboarding steps and respective completion status. + + + ## onboarding_status + + ### Admin-facilitated onboarding + | onboarding_status | Description | + |:------------------|------------:| + | `admin_onboarding_incomplete` | Admin needs to complete the full employee-onboarding. | + | `onboarding_completed` | Employee has been fully onboarded and verified. | + + ### Employee self-onboarding + | onboarding_status | Description | + |:------------------|------------:| + | `admin_onboarding_incomplete` | Admin needs to enter basic information about the employee. | + | `self_onboarding_pending_invite` | Admin has the intention to invite the employee to self-onboard (e.g., marking a checkbox), but the system has not yet sent the invitation. | + | `self_onboarding_invited` | Employee has been sent an invitation to self-onboard. | + | `self_onboarding_invited_started` | Employee has started the self-onboarding process. | + | `self_onboarding_invited_overdue` | Employee's start date has passed, and employee has still not completed self-onboarding. | + | `self_onboarding_completed_by_employee` | Employee has completed entering in their information. The status should be updated via API to "self_onboarding_awaiting_admin_review" from here, once the Admin has started reviewing. | + | `self_onboarding_awaiting_admin_review` | Admin has started to verify the employee's information. | + | `onboarding_completed` | Employee has been fully onboarded and verified. | + + ## onboarding_steps + + | onboarding_steps | Requirement(s) to be completed | + |:-----------------|-------------------------------:| + | `personal_details` | Add employee's first name, last name, email, date of birth, social security number | + | `compensation_details` | Associate employee to a job & compensation. | + | `add_work_address` | Add employee work address. | + | `add_home_address` | Add employee home address. | + | `federal_tax_setup` | Set up federal tax withholdings. | + | `state_tax_setup` | Set up state tax withholdings. | + | `direct_deposit_setup` | (optional) Set up employee's direct deposit. | + | `employee_form_signing` | Employee forms (e.g., W4, direct deposit authorization) are generated & signed. | + | `file_new_hire_report` | File a new hire report for this employee. | + | `admin_review` | Admin reviews & confirms employee details (only required for Employee self-onboarding) | + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getOnboardingStatus + put: + summary: Update the employee's onboarding status + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + Updates an employee's onboarding status. + Below is a list of valid onboarding status changes depending on the intended action to be performed on behalf of the employee. + + | Action | current onboarding_status | new onboarding_status | + |:------------------|:------------:|----------:| + | Mark an employee as self-onboarding | `admin_onboarding_incomplete` | `self_onboarding_pending_invite` | + | Invite an employee to self-onboard | `admin_onboarding_incomplete` or `self_onboarding_pending_invite` | `self_onboarding_invited` | + | Cancel an employee's self-onboarding | `self_onboarding_invited` or `self_onboarding_pending_invite` | `admin_onboarding_incomplete` | + | Review an employee's self-onboarded info | `self_onboarding_completed_by_employee` | `self_onboarding_awaiting_admin_review` | + | Finish an employee's onboarding | `admin_onboarding_incomplete` or `self_onboarding_awaiting_admin_review` | `onboarding_completed` | + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: invalid status transition + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - onboarding_status + properties: + onboarding_status: + type: string + description: Onboarding status value + enum: + - admin_onboarding_incomplete + - self_onboarding_pending_invite + - self_onboarding_invited + - self_onboarding_invited_started + - self_onboarding_invited_overdue + - self_onboarding_completed_by_employee + - self_onboarding_awaiting_admin_review + - onboarding_completed + required: true + x-speakeasy-name-override: updateOnboardingStatus + "/v1/employees/{employee_id}/onboarding_documents_config": + put: + summary: Update employee onboarding documents config + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + schema: + type: string + operationId: put-v1-employees-employee_id-onboarding_documents_config + security: + - CompanyAccessAuth: [] + description: |- + Indicate whether to include the Form I-9 for an employee during the onboarding process. + If included, the employee will be prompted to complete Form I-9 as part of their onboarding. + + ## Related guides + - [Employee onboarding](doc:employee-onboarding) + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Documents-Config-Request" + x-speakeasy-name-override: updateOnboardingDocumentsConfig + "/v1/employees/{employee_id}/employment_history": + get: + summary: Get employment history for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-employment_history + security: + - CompanyAccessAuth: [] + description: |- + Retrieve the employment history for a given employee, which includes termination and rehire. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employment-History-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: getHistory + "/v1/events": + get: + summary: Get all events + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: starting_after_uuid + in: query + required: false + description: A cursor for pagination. Returns all events occuring after the specified UUID (exclusive). Events are sorted according to the provided sort_order param. + schema: + type: string + - name: resource_uuid + in: query + required: false + description: The UUID of the company. If not specified, will return all events for all companies. + schema: + type: string + - name: limit + in: query + required: false + description: Limits the number of objects returned in a single response, between 1 and 100. The default is 25 + schema: + type: string + - name: event_type + in: query + required: false + description: A string containing the exact event name (e.g. `employee.created`), or use a wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`, `notification.*.created` etc.) + schema: + type: string + - name: sort_order + in: query + required: false + schema: + type: string + enum: + - asc + - desc + description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. + operationId: get-events + security: + - SystemAccessAuth: [] + description: "Fetch all events, going back up to 30 days, that your partner application has the required scopes for. Note that a partner does NOT have to have verified webhook subscriptions in order to utilize this endpoint.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `events:read`" + tags: + - Events + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Event-List" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: get + "/v1/companies/{company_uuid}/external_payrolls": + get: + summary: Get external payrolls for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-company-external-payrolls + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Get external payrolls for a company. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/External-Payroll-Basic" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: get + post: + summary: Create an external payroll for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Creates a new external payroll for a company. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll-Create-Request" + required: true + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: create + "/v1/companies/{company_uuid}/external_payrolls/tax_liabilities": + get: + summary: Get tax liabilities + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-tax-liabilities + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Get tax liabilities from aggregate external payrolls for a company. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Tax-Liabilities-Selections" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: listTaxLiabilities + put: + summary: Update tax liabilities + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-tax-liabilities + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Update tax liabilities for a company. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Tax-Liabilities-Selections" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Tax-Liability-Selections-Request" + required: true + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: updateTaxLiabilities + "/v1/companies/{company_uuid}/external_payrolls/tax_liabilities/finish": + put: + summary: Finalize tax liabilities options and convert into processed payrolls + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-tax-liabilities-finish + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Finalizes tax liabilities for a company. All external payrolls edit action will be disabled. + + ### Asynchronous processing + This endpoint triggers an asynchronous operation. The external payrolls will be processed in the background after finalization. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: finalizeTaxLiabilities + "/v1/companies/{company_uuid}/external_payrolls/{external_payroll_id}": + get: + summary: Get an external payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + operationId: get-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Get an external payroll for a given company. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: retrieve + put: + summary: Update an external payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + operationId: put-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Update an external payroll with a list of external payroll items. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll-Update-Request" + required: true + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: update + delete: + summary: Delete an external payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + operationId: delete-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Delete an external payroll. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/external_payrolls/{external_payroll_id}/calculate_taxes": + get: + summary: Get tax suggestions for an external payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + operationId: get-v1-external-payroll-calculate-taxes + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + description: |- + Get tax suggestions for an external payroll. Earnings and/or benefits data must be saved prior to the calculation in order to retrieve accurate tax calculation. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/External-Payroll-Tax-Suggestions" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: calculateTaxes + "/v1/companies/{company_uuid}/flows": + post: + summary: Create a flow + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-company-flows + security: + - CompanyAccessAuth: [] + description: |- + Generate a link to access a pre-built workflow in Gusto white-label UI. For security, all generated flows will expire within 1 hour of inactivity or 24 hours from creation time, whichever comes first. + + You can see a list of all possible flow types in our [Flow Types](https://docs.gusto.com/embedded-payroll/docs/flow-types) guide. + + You can also mix and match flow_types in the same category to create custom flows suitable for your needs. + + For instance, to create a custom onboarding flow that only includes `add_addresses`, `add_employees`, and `sign_all_forms` steps, simply stitch those flow_types together into a comma delimited string: + + ```json + { + "flow_type": "add_addresses,add_employees,sign_all_forms" + } + ``` + + Please be mindful of data dependencies in each step to achieve the best user experience. + + For more information and in-depth guides review the [Getting Started](https://docs.gusto.com/embedded-payroll/docs/flows-getting-started) guide for flows. + + scope: `flows:write` + tags: + - Flows + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Flow" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Create-Flow-Request" + required: true + x-speakeasy-name-override: create + "/v1/employees/{employee_id}/garnishments": + get: + summary: Get garnishments for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-employees-employee_id-garnishments + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:read` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create a garnishment + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-garnishments + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:write` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment-Request" + required: true + x-speakeasy-name-override: create + "/v1/garnishments/child_support": + get: + summary: Get child support garnishment data + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: get-v1-garnishments-child_support + security: + - CompanyAccessAuth: [] + description: |- + Agency data and requirements to be used for creating child support garnishments + + scope: `garnishments:read` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Child-Support-Data" + x-speakeasy-name-override: getChildSupportData + "/v1/garnishments/{garnishment_id}": + get: + summary: Get a garnishment + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: garnishment_id + in: path + description: The UUID of the garnishment + required: true + schema: + type: string + operationId: get-v1-garnishments-garnishment_id + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:read` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a garnishment + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: garnishment_id + in: path + description: The UUID of the garnishment + required: true + schema: + type: string + operationId: put-v1-garnishments-garnishment_id + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:write` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Update-Garnishment-Request" + required: true + x-speakeasy-name-override: update + "/v1/payrolls/{payroll_uuid}/generated_documents/printable_payroll_checks": + post: + summary: Generate printable payroll checks (pdf) + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + required: true + description: The UUID of the payroll + schema: + type: string + operationId: post-v1-payrolls-payroll_uuid-generated_documents-printable_payroll_checks + security: + - CompanyAccessAuth: [] + description: |- + This endpoint initiates the generation of employee checks for the payroll specified by payroll_uuid. A generation status and corresponding request_uuid will be returned. Use the generated document GET endpoint with document_type: `printable_payroll_checks` and request_uuid to poll the check generation process and retrieve the generated check URL upon completion. + + scope: `generated_documents:write` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Check" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Printable-Payroll-Checks-Body" + required: true + x-speakeasy-name-override: generatePrintableChecks + "/v1/generated_documents/{document_type}/{request_uuid}": + get: + summary: Get a generated document + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_type + in: path + required: true + schema: + type: string + enum: + - printable_payroll_checks + description: The type of document being generated + - name: request_uuid + in: path + required: true + description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. + schema: + type: string + operationId: get-v1-generated_documents-document_type-request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a document given the request_uuid. The response will include the generation request's status and urls to the document. A list of urls is returned as certain document types require several urls. + + scope: `generated_documents:read` + tags: + - Generated Documents + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Generated-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: generatedDocuments + x-speakeasy-name-override: get + "/v1/companies/{company_uuid}/historical_employees": + post: + summary: Create a historical employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company that will employ this historical record. + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + schema: + type: string + operationId: post-v1-historical_employees + security: + - CompanyAccessAuth: [] + description: |- + Create a historical employee, an employee that was previously dismissed from the company in the current year. + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Historical-Employee-Body" + required: true + x-speakeasy-name-override: createHistorical + "/v1/companies/{company_uuid}/historical_employees/{historical_employee_uuid}": + put: + summary: Update a historical employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company that will employ this historical record. + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + schema: + type: string + - name: historical_employee_uuid + in: path + required: true + description: The UUID of the historical employee returned from create or list responses. + example: a2b3c4d-5e6f-7890-abcd-ef1234567890 + schema: + type: string + operationId: put-v1-historical_employees + security: + - CompanyAccessAuth: [] + description: |- + Update a historical employee, an employee that was previously dismissed from the company in the current year. + + scope: `employees:manage employees:write` + tags: + - Employees + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Historical-Employee-Body" + required: true + x-speakeasy-group: historicalEmployees + x-speakeasy-name-override: update + "/v1/companies/{company_uuid}/holiday_pay_policy": + get: + summary: Get a company's holiday pay policy + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Get a company's holiday pay policy + + scope: `holiday_pay_policies:read` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '204': + description: no policy exists + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: get + post: + summary: Create a holiday pay policy for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Create a holiday pay policy for a company + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: company already has a policy + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy-Request" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: create + put: + summary: Update a company's holiday pay policy + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Update a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Holiday-Pay-Policy-Request" + required: true + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: update + delete: + summary: Delete a company's holiday pay policy + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: delete-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Delete a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/holiday_pay_policy/add": + put: + summary: Add employees to a company's holiday pay policy + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-companies-company_uuid-holiday_pay_policy-add + security: + - CompanyAccessAuth: [] + description: |- + Add employees to a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + required: + - employees + properties: + employees: + type: array + description: An array of employee objects, each containing an employee_uuid. + items: + type: object + properties: + uuid: + type: string + required: true + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: addEmployees + "/v1/companies/{company_uuid}/holiday_pay_policy/remove": + put: + summary: Remove employees from a company's holiday pay policy + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-companies-company_uuid-holiday_pay_policy-remove + security: + - CompanyAccessAuth: [] + description: |- + Remove employees from a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + required: + - employees + properties: + employees: + type: array + description: An array of employee objects, each containing an employee_uuid. + items: + type: object + properties: + uuid: + type: string + required: true + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: removeEmployees + "/v1/employees/{employee_id}/home_addresses": + get: + summary: Get an employee's home addresses + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-home_addresses + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: get + post: + summary: Create an employee's home address + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-home_addresses + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:write` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + street_1: + type: string + example: 300 3rd Street + street_2: + type: + - string + - 'null' + city: + type: string + example: San Francisco + state: + type: string + example: CA + zip: + type: string + example: '94107' + x-speakeasy-name-override: zip_code + effective_date: + type: + - string + - 'null' + format: date + example: '2022-01-31' + courtesy_withholding: + type: boolean + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: create + "/v1/home_addresses/{home_address_uuid}": + get: + summary: Get an employee's home address + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: home_address_uuid + in: path + description: The UUID of the home address + required: true + schema: + type: string + operationId: get-v1-home_addresses-home_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: retrieveHomeAddress + put: + summary: Update an employee's home address + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: home_address_uuid + in: path + description: The UUID of the home address + required: true + schema: + type: string + operationId: put-v1-home_addresses-home_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:write` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + street_1: + type: string + street_2: + type: + - string + - 'null' + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + effective_date: + type: + - string + - 'null' + format: date + courtesy_withholding: + type: boolean + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: update + delete: + summary: Delete an employee's home address + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: home_address_uuid + in: path + description: The UUID of the home address + required: true + schema: + type: string + operationId: delete-v1-home_addresses-home_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + Used for deleting an employee's home address. Cannot delete the employee's active home address. + + scope: `employees:write` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/i9_authorization": + get: + summary: Get an employee's I-9 authorization + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-i9_authorization + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 authorization stores information about an employee's authorization status and I-9 signatures, information required to fill out the Form I-9 for employment eligibility verification. + + **NOTE:** The `form_uuid` in responses from this endpoint can be used to retrieve the PDF version of the I-9. See the "get employee form PDF" request for more details. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:read` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: getAuthorization + put: + summary: Create or update an employee's I-9 authorization + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-i9_authorization + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 authorization stores information about an employee's authorization status, as well as signatures and other information required to complete the Form I-9 for employment eligibility verification. + + If the version is supplied and the employee I-9 authorization exists, this endpoint acts as an update. Otherwise, it will create an employee I-9 authorization. + + Validations on this endpoint are conditional: + * `document_type` may be required, depending on `authorization_status`. + * Valid formats for `document_number` vary, depending on `document_type`. + * `country` is only allowed with `document_type: 'foreign_passport'`. + * `expiration_date` is only allowed with `authorization_status: 'alien'`. + + > ℹ️ Unneeded information is automatically removed during updates. + > + > If an update causes some formerly-required fields to be unneeded, the now-unneeded data will be removed automatically. + > + > **Example:** Updating `authorization_status` from `alien` to `citizen` will cause any data in `document_type`, `document_number`, `country`, and `expiration_date` to be removed, since these fields are unused for `authorization_status:'citizen'`. + + Detailed instructions for completing Form I-9 can be found at https://www.uscis.gov/sites/default/files/document/forms/i-9instr.pdf + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:write` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization-Request-Body" + required: true + x-speakeasy-name-override: update + x-speakeasy-group: i9Verification + "/v1/employees/{employee_id}/i9_authorization/document_options": + get: + summary: Get an employee's I-9 verification document options + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-i9_authorization-document_options + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States. This endpoint returns the possible document options based on the employee's authorization status. These options can then be used to create the I-9 verification documents. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:read` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/I9-Authorization-Document-Option" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: getDocumentOptions + "/v1/employees/{employee_id}/i9_authorization/documents": + get: + summary: Get an employee's I-9 verification documents + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-employees-employee_id-i9_authorization-documents + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:read` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/I9-Authorization-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: getDocuments + put: + summary: Create an employee's I-9 authorization verification documents + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: put-v1-employees-employee_id-i9_authorization-documents + security: + - CompanyAccessAuth: [] + description: "An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States.\n\nUse the [document options endpoint](ref:get-v1-employees-employee_id-i9_authorization-document_options) to get the possible document types and titles, which can vary depending on the employee's authorization status.\n\n> \U0001F6A7 Every request must contain the complete list of documents for the Employee.\n>\n> Every request to this endpoint removes any previous verification document records for the employee.\n\n### Related guides\n- [I-9 employment verification](doc:i-9-employment-verification)\n\nscope: `i9_authorizations:manage`" + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/I9-Authorization-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization-Documents-Request-Body" + required: true + x-speakeasy-group: i9Verification + x-speakeasy-name-override: createDocuments + "/v1/employees/{employee_id}/i9_authorization/documents/{document_id}": + delete: + summary: Delete an employee's I-9 verification document + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: document_id + in: path + description: The UUID of the document + required: true + schema: + type: string + operationId: delete-v1-employees-employee_id-i9_authorization-documents-document_id + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States. This endpoint deletes a specific verification document. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:manage` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: deleteDocument + "/v1/employees/{employee_id}/i9_authorization/employer_sign": + put: + summary: Employer sign an employee's Form I-9 + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + schema: + type: string + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + operationId: put-v1-employees-employee_id-i9_authorization-employer_sign + security: + - CompanyAccessAuth: [] + description: |- + Sign an employee's Form I-9 as an employer. Once the form is signed, the employee's I-9 authorization is considered complete and cannot be modified. + + ### Prerequisites + Before calling this endpoint: + 1. The employee must have a completed [I-9 authorization](ref:put-v1-employees-employee_id-i9_authorization) + 2. The employee must have signed the Form I-9 + 3. [I-9 verification documents](ref:put-v1-employees-employee_id-i9_authorization-documents) must be submitted + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:manage` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization-Employer-Sign-Request-Body" + required: true + x-speakeasy-group: i9Verification + x-speakeasy-name-override: employerSign + "/v1/companies/{company_uuid}/information_requests": + get: + summary: Get all information requests for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(payroll_blocker|status|type)(:(asc|desc))?(,(payroll_blocker|status|type)(:(asc|desc))?)*$" + example: payroll_blocker:asc + description: 'Sort by one or more fields. Options: payroll_blocker, status, type. Append `:asc` or `:desc` to specify direction (e.g., `payroll_blocker:asc`). Defaults to ascending.' + operationId: get-information-requests + security: + - CompanyAccessAuth: [] + description: |- + Fetch all information requests for a company. + + scope: `information_requests:read` + tags: + - Information Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Information-Request" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/invoices/{invoice_period}": + get: + summary: Retrieve invoicing data for companies + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: invoice_period + in: path + required: true + description: The month we are calculating the invoice for. Must be in YYYY-MM format + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: company_uuids + in: query + required: false + description: Filter companies returned in the active_companies response, will return an error if company not active during provided invoice period. i.e. `?company_uuids=781922d8-e780-4b6b-bf74-ee303166d022,bbbca930-7322-491c-ba7f-98707a52a9c5` + schema: + type: string + operationId: get-invoices-invoice-period + security: + - SystemAccessAuth: [] + description: "Retrieve data for active companies used to calculate invoices for Gusto Embedded Payroll. A company is considered active for an invoice period if they are an active partner managed company, have run payroll or created contractor payments since becoming a partner managed company, and are not suspended at any point during the invoice period. This endpoint forces pagination, with 100 results returned at a time. You can learn more about our pagination here: [pagination guide](https://docs.gusto.com/embedded-payroll/docs/pagination)\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `invoices:read`" + tags: + - Invoices + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Invoice-Data" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: get + "/v1/jobs/{job_id}": + get: + summary: Get a job + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + - name: include + in: query + required: false + schema: + type: string + enum: + - all_compensations + description: | + Available options: + - all_compensations: Include all effective dated compensations for each job instead of only the current compensation + operationId: get-v1-jobs-job_id + security: + - CompanyAccessAuth: [] + description: |- + Get a job. + + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + Compensation data in the response requires the `compensations:read` scope. + + scope: `jobs:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: getJob + put: + summary: Update a job + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + operationId: put-v1-jobs-job_id + security: + - CompanyAccessAuth: [] + description: |- + Update a job. + + scope: `jobs:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Jobs-Update-Request-Body" + required: true + x-speakeasy-name-override: update + x-speakeasy-group: jobsAndCompensations + delete: + summary: Delete an individual job + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + operationId: delete-v1-jobs-job_id + security: + - CompanyAccessAuth: [] + description: |- + Deletes a specific job that an employee holds. + + scope: `jobs:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/jobs": + get: + summary: Get jobs for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_compensations + description: | + Available options: + - all_compensations: Include all effective dated compensations for each job instead of only the current compensation + operationId: get-v1-employees-employee_id-jobs + security: + - CompanyAccessAuth: [] + description: |- + Get all of the jobs that an employee holds. + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + Compensation data in the response requires the `compensations:read` scope. + + scope: `jobs:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: type: array - description: Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. items: - type: object + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getJobs + x-speakeasy-group: jobsAndCompensations + post: + summary: Create a job + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-jobs + security: + - CompanyAccessAuth: [] + description: |- + Create a job. + + scope: `jobs:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Jobs-Create-Request-Body" + required: true + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: createJob + "/v1/locations/{location_uuid}/minimum_wages": + get: + summary: Get minimum wages for a location + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: location_uuid + in: path + description: The UUID of the location + required: true + schema: + type: string + - name: effective_date + in: query + required: false + example: '2020-01-31' + schema: + type: string + operationId: get-v1-locations-location_uuid-minimum_wages + security: + - CompanyAccessAuth: [] + description: |- + Get minimum wages for a location + + scope: `companies:read` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Minimum-Wage-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getMinimumWages + "/v1/locations/{location_id}": + get: + summary: Get a location + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: location_id + in: path + description: The UUID of the location + required: true + schema: + type: string + operationId: get-v1-locations-location_id + security: + - CompanyAccessAuth: [] + description: |- + Get a location. + + scope: `companies:read` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Location" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: retrieve + put: + summary: Update a location + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: location_id + in: path + description: The UUID of the location + required: true + schema: + type: string + operationId: put-v1-locations-location_id + security: + - CompanyAccessAuth: [] + description: |- + Update a location. + + scope: `companies:write` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Location" + '422': + description: Invalid state + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Invalid version param + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object properties: - type: + phone_number: type: string - description: A machine-readable blocker key (e.g. `missing_bank_account`). - description: + pattern: "[0-9]{10}" + example: '8009360383' + street_1: type: string - description: Human-readable description of the blocker. - payrolls: - type: array - description: Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty. - items: - type: object - properties: - payroll_uuid: + example: 300 3rd Street + street_2: type: - string - 'null' - format: uuid - description: UUID of the payroll. `null` for upcoming pay periods that have not been started yet (the `payrolls` API has not yet created a payroll record). Once a payroll is created, subsequent digest requests will include the real `payroll_uuid`. - payroll_type: + example: Apartment 318 + city: type: string - description: The type of payroll (e.g. `regular`, `new_hire`, `termination`, `transition`, `bonus`, `correction`). - display_title: + example: San Francisco + state: type: string - description: Partner-facing display title for this payroll (e.g. "Run biweekly payroll"). - auto_payroll: - type: boolean - description: Whether the company has auto-payroll enabled for this pay schedule. - status: + zip: type: string - description: The lifecycle status of the payroll (e.g. `ready_to_start`, `in_progress`, `submitted`, `completed`, `failed`). - pay_period: - type: object - properties: - start_date: - type: - - string - - 'null' - format: date - description: First day of the pay period. - end_date: - type: - - string - - 'null' - format: date - description: Last day of the pay period. - check_date: - type: - - string - - 'null' - format: date - description: The date employees get paid. - run_payroll_by: - type: - - string - - 'null' - format: date - description: The deadline to run payroll for this pay period. - pay_schedule: - type: - - object - - 'null' - properties: - uuid: - type: string - format: uuid - description: UUID of the pay schedule. - frequency: - type: string - description: Human-friendly pay frequency (e.g. "Every other week"). - custom_name: - type: - - string - - 'null' - description: Custom name for the pay schedule, when set. - totals: - type: - - object - - 'null' - description: Pay totals. `null` when the payroll has not been calculated, or when the calculation is stale (the partner edited hours/earnings after the last calculation). - properties: - total_debit_amount: - type: string - description: Total amount debited from the company bank account (string-formatted decimal). - net_pay: - type: string - description: Total net pay across all employees on this payroll (string-formatted decimal). - total_employer_cost: - type: string - description: Total employer cost including taxes and benefits (string-formatted decimal). - exclusions: - type: array - description: Companies that could not be processed. Only present once the batch reaches a terminal status. Every UUID submitted in the POST batch appears in exactly one of `results` or `exclusions`. - items: - type: object - properties: - idx: - type: integer - description: The index of this company in the original POST batch array. - entity_type: - type: string - enum: - - company - description: The type of entity this exclusion represents. - uuid: - type: string - format: uuid - description: The UUID of the excluded company. - status: - type: string - enum: - - failed - description: The status of this company's digest computation. - category: - type: string - enum: - - not_found - - company_inactive - - duplicate - - internal_error - description: Machine-readable category for why the company was excluded. - message: - type: string - description: Human-readable explanation for the exclusion. - required: - - uuid - - idempotency_key - - status - - submitted_at - Payroll-Digest-Conflict-Error: - type: object - description: Error response when a payroll digest idempotency key has already been used by the same partner. - x-examples: - conflict: - errors: - - error_key: idempotency_key - category: invalid_attribute_value - message: Idempotency key has already been used - metadata: - request_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - properties: - errors: - type: array - items: - type: object - properties: - error_key: - type: string - description: The key identifying the error source. - category: - type: string - description: The error category. - message: + example: '94107' + x-speakeasy-name-override: zip_code + country: + type: string + mailing_address: + type: boolean + description: For a company location, specify if this location is the company's mailing address. A company has a single mailing address, so this designation will override any previous selection. + filing_address: + type: boolean + description: For a company location, specify if this location is the company's filing address. A company has a single filing address, so this designation will override any previous selection. + required: true + x-speakeasy-name-override: update + "/v1/companies/{company_id}/locations": + get: + summary: Get all company locations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-locations + security: + - CompanyAccessAuth: [] + description: |- + Retrieves all company locations (addresses) associated with a company: mailing addresses, filing + addresses, or work locations. A single address may serve multiple, or all, purposes. + + Since all company locations are subsets of locations, use the Locations endpoints to + [get](ref:get-v1-locations-location_id) or [update](ref:put-v1-locations-location_id) an individual record. + + scope: `companies:read` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Locations-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + post: + summary: Create a company location + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-locations + security: + - CompanyAccessAuth: [] + description: |- + Create a company location, which represents any address associated with a company: mailing + addresses, filing addresses, or work locations. A single address may serve multiple, or all, purposes. + + Since all company locations are subsets of locations, use the Locations endpoints to + [get](ref:get-v1-locations-location_id) or [update](ref:put-v1-locations-location_id) an individual record. + + scope: `companies:write` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Location" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Location-Request" + required: true + x-speakeasy-name-override: create + "/v1/notifications/{notification_uuid}": + get: + summary: Get a notification's details + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: notification_uuid + in: path + description: The notification entity_uuid + required: true + schema: + type: string + operationId: get-notifications-notification_uuid + security: + - CompanyAccessAuth: [] + description: |- + Upon receiving a notification webhook event, use this endpoint to fetch the notification's details. The notification details include basic suggested content that can help you build notifications in your platform. + + Note: partners are responsible for the delivery and any custom state management of notifications in their application. Refer to our [partner notification guide](https://docs.gusto.com/embedded-payroll/docs/partner-notifications) for more details. + + If the notification UUID is not found, the response will be 404 Not Found. If the notification's supporting data is no longer valid, the response will be 422 Unprocessable Entity. + + scope: `notifications:read` + tags: + - Notifications + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Notification" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: getDetails + "/v1/companies/{company_uuid}/paid_holidays": + get: + summary: Preview a company's paid holidays + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: year + in: query + required: false + description: If a year is passed, paid holidays for that year will be returned. Otherwise, paid holidays for the next three years will be returned. + schema: + type: string + example: '2023' + operationId: get-companies-company_uuid-paid_holidays + security: + - CompanyAccessAuth: [] + description: |- + Preview a company's paid holidays + + If a year is passed, paid holidays for that year will be returned. Otherwise, paid holidays for the next three years will be returned. + + scope: `holiday_pay_policies:read` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Paid-Holiday" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: previewPaidHolidays + "/v1/partner_managed_companies/{company_uuid}/migrate": + put: + summary: Migrate company to embedded payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-partner-managed-companies-company-uuid-migrate + security: + - CompanyAccessAuth: [] + description: |- + Migrate an existing Gusto customer to your embedded payroll product. + + ### Prerequisites + Before calling this endpoint: + 1. The customer must connect their Gusto account to your application using [OAuth2](doc:oauth2) + 2. The customer must view and [accept the Embedded Payroll Terms of Service](ref:post-partner-managed-companies-company_uuid-accept_terms_of_service) + + ### Related guides + - [Migrate an existing company](doc:migrate-existing-company) + + scope: `partner_managed_companies:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Migrate-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Migrate-Request" + required: true + x-speakeasy-name-override: migrate + "/v1/partner_managed_companies": + post: + summary: Create a partner managed company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-partner-managed-companies + security: + - SystemAccessAuth: [] + description: "Create a partner managed company. When you successfully call the API, it does the following:\n* Creates a new company in Gusto\n* Creates a new user using the provided email if the user does not already exist.\n* Makes the user the primary payroll administrator of the new company.\n\nIn response, you will receive oauth access tokens for the created company.\n\nIMPORTANT: the returned access and refresh tokens are reserved for this company only. They cannot be used to access other companies AND previously granted tokens cannot be used to access this company.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `partner_managed_companies:manage`" + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Create-Request" + required: true + x-speakeasy-name-override: createPartnerManaged + "/v1/partner_managed_companies/{company_uuid}/migration_readiness": + get: + summary: Check company migration readiness + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-partner-managed-companies-company-uuid-migration_readiness + security: + - CompanyAccessAuth: [] + description: |- + Check if an existing Gusto customer is ready to be migrated to embedded payroll. This endpoint returns blockers and warnings associated with migrating the company and is recommended to be called before attempting to migrate a company. + + scope: `partner_managed_companies:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Migration-Readiness-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/partner_managed_companies/{company_uuid}/accept_terms_of_service": + post: + summary: Accept terms of service for an admin + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-partner-managed-companies-company_uuid-accept_terms_of_service + security: + - CompanyAccessAuth: [] + deprecated: true + description: |- + > Deprecated: use [POST /v1/partner_managed_companies/{company_uuid}/terms_of_service](https://docs.gusto.com/embedded-payroll/reference/post-v1-partner-managed-companies-company-uuid-terms_of_service). + + Accept the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms). + The user must be a company admin in order to accept the Terms of Service. + + scope: `terms_of_services:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '404': + description: Deprecated endpoint + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Accept-Terms-Of-Service-Request" + required: true + x-speakeasy-name-override: acceptTermsOfService + "/v1/partner_managed_companies/{company_uuid}/retrieve_terms_of_service": + post: + summary: Retrieve terms of service status for an admin + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-partner-managed-companies-company_uuid-retrieve_terms_of_service + security: + - CompanyAccessAuth: [] + deprecated: true + description: |- + > Deprecated: use [PUT /v1/partner_managed_companies/{company_uuid}/terms_of_service](https://docs.gusto.com/embedded-payroll/reference/put-v1-partner-managed-companies-company-uuid-terms_of_service) for user-level status, or [GET /v1/partner_managed_companies/{company_uuid}/terms_of_service](https://docs.gusto.com/embedded-payroll/reference/get-v1-partner-managed-companies-company-uuid-terms_of_service) for company-level status. + + Retrieve the user acceptance status of the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms). + + scope: `terms_of_services:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '404': + description: Deprecated endpoint + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Retrieve-Terms-Of-Service-Request" + required: true + x-speakeasy-name-override: retrieveTermsOfService + "/v1/partner_managed_companies/{company_uuid}/terms_of_service": + get: + summary: Get the terms of service status for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-partner-managed-companies-company-uuid-terms_of_service + security: + - CompanyAccessAuth: [] + description: |- + Check if any company payroll admin has accepted the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms). + + This is useful for partners with multiple payroll admins who need to check TOS status at the company level rather than for a specific user. + + scope: `terms_of_services:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Terms-Of-Service-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Check terms of service status for a specific user + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: put-v1-partner-managed-companies-company-uuid-terms_of_service + security: + - CompanyAccessAuth: [] + description: |- + Check user-specific Terms of Service acceptance for the Gusto Embedded Payroll [Terms of Service](https://flows.gusto.com/terms). + + The user must have a role on the company. Returns whether the specific user has accepted the latest TOS version. + + Uses PUT (rather than GET) to hide the email address from URL logs. + + scope: `terms_of_services:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Terms-Of-Service-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Retrieve-Terms-Of-Service-Request" + required: true + post: + summary: Accept terms of service for a specific user + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-partner-managed-companies-company-uuid-terms_of_service + security: + - CompanyAccessAuth: [] + description: |- + Accept the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms) on behalf of a specific user. The user must have a role on the company. + + scope: `terms_of_services:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Terms-Of-Service-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Accept-Terms-Of-Service-Request" + required: true + "/v1/companies/{company_id}/pay_periods": + get: + summary: Get pay periods for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: start_date + in: query + required: false + schema: + type: string + format: date + description: Start date (YYYY-MM-DD) for the pay periods range. Defaults to 6 months ago. + - name: end_date + in: query + required: false + schema: + type: string + format: date + description: End date (YYYY-MM-DD) for the pay periods range. Cannot be more than 3 months in the future. Defaults to today. + - name: payroll_types + in: query + required: false + schema: + type: string + enum: + - regular + - transition + - regular,transition + description: Comma-separated list of payroll types to include (regular, transition). Defaults to regular only. + operationId: get-v1-companies-company_id-pay_periods + security: + - CompanyAccessAuth: [] + description: |- + Pay periods are the foundation of payroll. Compensation, time & attendance, taxes, and expense reports all rely on when they happened. + + To begin submitting information for a given payroll, we need to agree on the time period. + + By default, this endpoint returns pay periods starting from 6 months ago to the date today. Use the `start_date` and `end_date` parameters to change the scope of the response. End dates can be up to 3 months in the future and there is no limit on start dates. + + Starting in version 2023-04-01, the `eligible_employees` attribute was removed from the response. The eligible employees for a payroll are determined by the employee_compensations returned from the [PUT /v1/companies/{company_id}/payrolls/{payroll_id}/prepare](ref:put-v1-companies-company_id-payrolls-payroll_id-prepare) endpoint. + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Pay-Period" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getPayPeriods + "/v1/companies/{company_id}/pay_periods/unprocessed_termination_pay_periods": + get: + summary: Get termination pay periods for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-company_id-unprocessed_termination_pay_periods + security: + - CompanyAccessAuth: [] + description: |- + When a payroll admin terminates an employee and selects "Dismissal Payroll" as the employee's final payroll, their last pay period will appear on the list. + + This endpoint returns the unprocessed pay periods for past and future terminated employees in a given company. + + scope: `payrolls:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Unprocessed-Termination-Pay-Period" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getUnprocessedTerminationPeriods + "/v1/companies/{company_id}/pay_schedules": + get: + summary: Get the pay schedules for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-pay_schedules + security: + - CompanyAccessAuth: [] + description: |- + Returns all pay schedules for a company. The pay schedule object captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + + scope: `pay_schedules:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getAll + post: + summary: Create a new pay schedule + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-pay_schedules + security: + - CompanyAccessAuth: [] + description: |- + If a company does not have any pay schedules, this endpoint will create a single pay schedule and assign it to all employees. This is a common use case during company onboarding. + + If a company has an existing active pay schedule and want to support multiple pay schedules, this endpoint will create a pay schedule that is not assigned to any employee. + + Be sure to **[check state laws](https://www.dol.gov/agencies/whd/state/payday)** to know what schedule is right for your customers. + + > If an onboarded company misses their first pay date, Gusto will automatically adjust the pay schedule to the next available pay date. + + ### Webhooks + - `pay_schedule.created`: Fires when a pay schedule is successfully created. + + ### Related guides + - [Create a pay schedule](doc:create-a-pay-schedule) + - [Pay Schedules](doc:pay-schedule-info) + - [Manage Pay Schedules via API](doc:manage-pay-schedules-api) + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Create-Request" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: create + "/v1/companies/{company_id}/pay_schedules/preview": + get: + summary: Preview pay schedule dates + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: frequency + in: query + required: true + schema: + type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + example: Twice per month + description: The frequency that employees on this pay schedule are paid with Gusto. + - name: anchor_pay_date + in: query + required: true + schema: + type: string + format: date + example: '2020-05-15' + description: The first date that employees on this pay schedule are paid with Gusto. + - name: anchor_end_of_pay_period + in: query + required: true + schema: + type: string + format: date + example: '2020-05-08' + description: The last date of the first pay period. This can be the same date as the anchor pay date. + - name: day_1 + in: query + required: false + schema: + type: integer + example: 15 + description: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + - name: day_2 + in: query + required: false + schema: + type: integer + example: 31 + description: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + - name: end_date + in: query + required: false + schema: + type: string + format: date + description: End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. + - name: pay_schedule_uuid + in: query + required: false + schema: + type: string + format: uuid + description: Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. + operationId: get-v1-companies-company_id-pay_schedules-preview + security: + - CompanyAccessAuth: [] + description: |- + Provides a preview of a pay schedule with the specified parameters for the next 18 months. Use this before creating or updating a pay schedule to show expected check dates, pay period boundaries, and payroll deadlines. + + ### Related guides + - [Create a pay schedule](doc:create-a-pay-schedule) + - [Manage Pay Schedules via API](doc:manage-pay-schedules-api) + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getPreview + "/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}": + get: + summary: Get a pay schedule + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: pay_schedule_id + in: path + description: The UUID of the pay schedule + required: true + schema: + type: string + operationId: get-v1-companies-company_id-pay_schedules-pay_schedule_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a single pay schedule by UUID. The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + + scope: `pay_schedules:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: paySchedules + put: + summary: Update a pay schedule + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: pay_schedule_id + in: path + description: The UUID of the pay schedule + required: true + schema: + type: string + operationId: put-v1-companies-company_id-pay_schedules-pay_schedule_id + security: + - CompanyAccessAuth: [] + description: |- + Updates a pay schedule. The `version` parameter from the GET response is required for [optimistic concurrency](doc:api-fundamentals); a mismatch returns 409 Conflict. + + ### Effect on payrolls + Updating a pay schedule will delete any unprocessed regular payrolls whose pay period end date is today or in the future. Already-processed payrolls are not affected. + + ### Pay schedules may be automatically adjusted + If an onboarded company misses their first pay date, Gusto will automatically adjust the pay schedule to the next available pay date. + + ### Webhooks + - `pay_schedule.updated`: Fires when a pay schedule is successfully updated. + + ### Related guides + - [Create a pay schedule](doc:create-a-pay-schedule) + - [Manage Pay Schedules via API](doc:manage-pay-schedules-api) + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Update-Request" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: update + "/v1/companies/{company_id}/pay_schedules/assignment_preview": + post: + summary: Preview pay schedule assignments for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-pay_schedules-assignment_preview + security: + - CompanyAccessAuth: [] + description: |- + This endpoint returns the employee changes, including pay period and transition pay periods, for changing the pay schedule. + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Body" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: previewAssignment + "/v1/companies/{company_id}/pay_schedules/assign": + post: + summary: Assign pay schedules for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-pay_schedules-assign + security: + - CompanyAccessAuth: [] + description: |- + This endpoint assigns employees to pay schedules based on the schedule type. + For `by_employee` and `by_department` schedules, use the `partial_assignment` parameter to control the assignment scope. Set it to `true` for partial assignments (only some employees or departments at a time) and `false` for full assignments (all employees or departments at once). + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Body" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: assign + "/v1/companies/{company_id}/pay_schedules/assignments": + get: + summary: Get pay schedule assignments for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-company_id-pay_schedules-assignments + security: + - CompanyAccessAuth: [] + description: |- + This endpoint returns the current pay schedule assignment for a company, with pay schedule and employee/department mappings depending on the pay schedule type. + + scope: `pay_schedules:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getAssignments + "/v1/employees/{employee_id}/pay_stubs": + get: + summary: Get an employee's pay stubs + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-employees-employee_uuid-pay_stubs + security: + - CompanyAccessAuth: [] + description: |- + Get an employee's pay stubs. + + Results are returned in reverse chronological order (newest first). + + scope: `pay_stubs:read` + x-gusto-integration-type: + - embedded + tags: + - Payrolls + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Pay-Stubs-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getPayStubs + "/v1/payrolls/{payroll_id}/employees/{employee_id}/pay_stub": + get: + summary: Get an employee pay stub (pdf) + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: get-v1-payrolls-payroll_uuid-employees-employee_uuid-pay_stub + security: + - CompanyAccessAuth: [] + description: |- + Get an employee's pay stub for the specified payroll. By default, an application/pdf response will be returned. No other content types are currently supported, but may be supported in the future. + + scope: `pay_stubs:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/pdf: + schema: type: string - description: Human-readable error message. - metadata: - type: object - properties: - request_uuid: + format: binary + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getPayStub + "/v1/companies/{company_id}/payrolls/{id}/partner_disbursements": + get: + summary: Get partner disbursements for a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: get-v1-companies-company_id-payrolls-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Get partner disbursements for a specific payroll. + + scope: `partner_disbursements:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Partner-Disbursements" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + patch: + summary: Update partner disbursements for a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: patch-v1-companies-company_id-payrolls-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Update partner disbursements for a specific payroll. + + scope: `partner_disbursements:write` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Partner-Disbursements" + '422': + description: mixed single and multiple errors example + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + disbursements: + type: array + items: + type: object + properties: + employee_uuid: + type: string + description: UUID of the employee + example: 1a2b3c4d-5e6f-7890-abcd-ef1234567890 + payment_method: + type: string + enum: + - Direct Deposit + - Check + description: Payment method for the employee + payment_status: + type: string + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + description: Status of the payment disbursement + required: + - employee_uuid + required: + - disbursements + "/v1/companies/{company_id}/payroll_reversals": + get: + summary: Get approved payroll reversals + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-companies-company_id-payroll_reversals + security: + - CompanyAccessAuth: [] + description: |- + Returns all approved Payroll Reversals for a Company. + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Reversal-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getApprovedReversals + "/v1/companies/{company_id}/payrolls/{payroll_id}": + get: + summary: Get a single payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - benefits + - deductions + - taxes + - payroll_status_meta + - totals + - risk_blockers + - reversals + - payroll_taxes + description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(first_name|last_name)(:(asc|desc))?(,(first_name|last_name)(:(asc|desc))?)*$" + example: first_name:asc + description: 'Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.' + operationId: get-v1-companies-company_id-payrolls-payroll_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a payroll. If payroll is calculated or processed, will return employee_compensations and totals. + + Results are paginated, with a maximum page size of 100 employee_compensations. + + Notes: + * Hour and dollar amounts are returned as string representations of numeric decimals. + * Hours are represented to the thousands place; dollar amounts are represented to the cent. + * Every eligible compensation is returned for each employee. If no data has yet be inserted for a given field, it defaults to "0.00" (for fixed amounts) or "0.000" (for hours ). + * When include parameter with benefits value is passed, employee_benefits:read scope is required to return benefits + * Benefits containing PHI are only visible with the `employee_benefits:read:phi` scope + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful with wait_for_reverse_wire credit blocker + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Show" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a payroll by ID + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: put-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + This endpoint allows you to update information for one or more employees for a specific **unprocessed** payroll. You can think of the **unprocessed** + payroll object as a template of fields that you can update. You cannot modify the structure of the payroll object through this endpoint, only values + of the fields included in the payroll. If you do not include specific employee compensations, fixed/hourly compensations, or deductions in your request body, they + will not be removed from the payroll. A maximum of 100 employee_compensations can be updated at a time. Only the employee compensation objects that were + inputted will be returned. + + scope: `payrolls:write` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Prepared" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Update" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: async + in: query + description: When true, request an asynchronous delete of the payroll. + schema: + type: boolean + operationId: delete-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + This endpoint allows you to delete an **unprocessed** payroll. + + By default the payroll and associated data is deleted synchronously. To request an asynchronous delete, use the `async=true` query parameter. In both cases validation of ability to delete will be performed and an Unprocessable Entity error will be returned if the payroll is not able to be deleted. A successful synchronous delete will return `204/No Content`. When a payroll has been enqueued for asynchronous deletion, `202/Accepted` will be returned. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '202': + description: Accepted + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: delete + "/v1/companies/{company_id}/payrolls": + get: + summary: Get all payrolls for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: processing_statuses + in: query + required: false + explode: false + description: Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` + schema: + type: array + items: + type: string + enum: + - processed + - unprocessed + - name: payroll_types + in: query + required: false + explode: false + description: Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` + schema: + type: array + items: + type: string + enum: + - regular + - off_cycle + - external + - name: processed + in: query + required: false + description: Whether to return processed or unprocessed payrolls + schema: + type: boolean + - name: include_off_cycle + in: query + required: false + description: Whether to include off cycle payrolls in the response + schema: + type: boolean + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - taxes + - payroll_status_meta + - totals + - risk_blockers + - reversals + description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` + - name: start_date + in: query + required: false + example: '2020-01-31' + description: Return payrolls whose pay period is after the start date + schema: + type: string + - name: end_date + in: query + required: false + example: '2020-01-31' + description: Return payrolls whose pay period is before the end date. If left empty, defaults to today's date. + schema: + type: string + - name: date_filter_by + in: query + required: false + description: Specifies which date field to use when filtering payrolls with start_date and end_date. This field applies only to regular processed payrolls and defaults to pay period if not provided. + schema: + type: string + enum: + - check_date + example: check_date + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: sort_order + in: query + required: false + description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. + schema: + type: string + enum: + - asc + - desc + example: asc + operationId: get-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of payrolls for a company. You can change the payrolls returned by updating the processing_status, payroll_types, start_date, & end_date params. + + By default, will return processed, regular payrolls for the past 6 months. + + Notes: + * Dollar amounts are returned as string representations of numeric decimals, are represented to the cent. + * end_date can be at most 3 months in the future and start_date and end_date can't be more than 1 year apart. + * Results are paginated. Maximum page size is 100 payrolls per request; the default page size is 25. + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create an off-cycle payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + Creates a new, unprocessed, off-cycle payroll. + + ## `off_cycle_reason` + By default: + - External benefits and deductions will be included when the `off_cycle_reason` is set to `Correction`. + - All benefits and deductions are blocked when the `off_cycle_reason` is set to `Bonus`. + + These elections can be overridden with the `skip_regular_deductions` boolean. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Unprocessed" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - off_cycle + - off_cycle_reason + - start_date + - end_date + properties: + off_cycle: + type: boolean + description: Whether it is an off cycle payroll. + off_cycle_reason: + type: string + enum: + - Bonus + - Correction + - Adhoc + - Dismissed employee + - Transition from old pay schedule + description: An off cycle payroll reason. Select one from the following list. + start_date: + type: string + format: date + description: Pay period start date. + end_date: + type: string + format: date + description: Pay period end date. + pay_schedule_uuid: + description: A pay schedule is required for transition from old pay schedule payroll to identify the matching transition pay period. + type: string + employee_uuids: + description: A list of employee uuids to include on the payroll. + type: + - array + - 'null' + items: + type: string + check_date: + type: string + format: date + description: Payment date. + withholding_pay_period: + description: The payment schedule tax rate the payroll is based on. + type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Semiannually + - Annually + skip_regular_deductions: + description: Block regular deductions and contributions for this payroll. + type: boolean + fixed_withholding_rate: + description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. + type: boolean + is_check_only_payroll: + description: When true, all employees in the payroll will be paid by check and the check date can be set to today or any future business day (rather than requiring ACH lead time). Payment methods cannot be changed on check-only payrolls. + type: boolean + x-speakeasy-name-override: createOffCycle + "/v1/payrolls/{payroll_uuid}/receipt": + get: + summary: Get a single payroll receipt + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: get-v1-payment-receipts-payrolls-payroll_uuid + security: + - CompanyAccessAuth: [] + description: |- + Returns a payroll receipt. + + Notes: + * Hour and dollar amounts are returned as string representations of numeric decimals. + * Dollar amounts are represented to the cent. + * If no data has yet be inserted for a given field, it defaults to "0.00" (for fixed amounts). + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Receipt" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getReceipt + "/v1/companies/{company_id}/payrolls/{payroll_id}/cancel": + put: + summary: Cancel a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: put-api-v1-companies-company_id-payrolls-payroll_id-cancel + security: + - CompanyAccessAuth: [] + description: |- + Transitions a `processed` payroll back to the `unprocessed` state. A payroll can be canceled if it meets both criteria: + + - `processed` is `true` + - Current time is earlier than 4pm PT on the `payroll_deadline` + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessed-Payroll" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: cancel + "/v1/companies/{company_id}/payrolls/{payroll_id}/prepare": + put: + summary: Prepare a payroll for update + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(first_name|last_name)(:(asc|desc))?(,(first_name|last_name)(:(asc|desc))?)*$" + example: first_name:asc + description: 'Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.' + operationId: put-v1-companies-company_id-payrolls-payroll_id-prepare + security: + - CompanyAccessAuth: [] + description: |- + Prepares an unprocessed payroll for update, including: adding or removing eligible employees from the payroll, + and updating `check_date`, `payroll_deadline`, and `payroll_status_meta` dates and times. + + Use this endpoint before calling [PUT /v1/companies/{company_id}/payrolls/{payroll_id}](ref:put-v1-companies-company_id-payrolls). + + ### Notes + + * Nullifies `calculated_at` and `totals` if the payroll was previously calculated + * Returns the `version` parameter required for [updating the payroll](ref:put-v1-companies-company_id-payrolls) + * `employees:read` scope is required to include employee compensations data in the response. + * Results are paginated, with a maximum page size of 100 employee compensations. + + scope: `payrolls:write employees:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Prepared" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employee_uuids: + type: + - array + - 'null' + description: An array of employee UUIDs. If passed, only those employees payroll items will be prepared. + items: + type: string + x-speakeasy-name-override: prepare + "/v1/companies/{company_id}/payrolls/{payroll_id}/calculate": + put: + summary: Calculate a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: put-v1-companies-company_id-payrolls-payroll_id-calculate + security: + - CompanyAccessAuth: [] + description: |- + Performs calculations for taxes, benefits, and deductions for an unprocessed payroll. The calculated payroll details provide a preview of the actual values that will be used when the payroll is run. + + This calculation is asynchronous and a successful request responds with a 202 HTTP status. To view the details of the calculated payroll, use the GET /v1/companies/{company_id}/payrolls/{payroll_id} endpoint with *include=taxes,benefits,deductions* params. + + If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers as described in the error responses. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: calculate + "/v1/companies/{company_uuid}/payrolls/blockers": + get: + summary: Get all payroll blockers for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: get-v1-companies-payroll-blockers-company_uuid + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of reasons that prevent the company from running payrolls. See the [Payroll Blockers guide](doc:payroll-blockers) for a complete list of reasons. The list is empty if there are no payroll blockers. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Payroll-Blocker" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getBlockers + "/v1/companies/{company_uuid}/payrolls/skip": + post: + summary: Skip a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-companies-payroll-skip-company_uuid + security: + - CompanyAccessAuth: [] + description: |- + Submits a $0 payroll for employees associated with the pay schedule to skip payroll. This submission is asynchronous and a successful request responds with a 202 HTTP status. Upon success, the payroll is transitioned to the `processed` state. + + If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers as described in the error responses. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '202': + description: Accepted + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Blockers-Error" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + payroll_type: + type: string + description: Payroll type + enum: + - Regular + - Hired employee + - Dismissed employee + - Transition from old pay schedule + start_date: + type: string + description: Pay period start date + end_date: + type: string + description: Pay period end date. If left empty, defaults to today's date. Required when skipping a termination payroll (`payroll_type` = `Dismissed employee`). + pay_schedule_uuid: + type: string + description: The UUID of the pay schedule. Required when skipping a termination payroll (`payroll_type` = `Dismissed employee`). + employee_uuids: + description: An array of employees. This field is only applicable to new hire payroll and termination payroll + type: + - array + - 'null' + items: type: string - format: uuid - description: The UUID of the existing payroll digest batch that already used this idempotency key. - Employees-Annual-Fica-Wage-Report-Acceptance: - type: object - description: Acceptance acknowledgement for an asynchronous employees annual FICA wage report. Returned with HTTP 202; poll the report status endpoint using `request_uuid`. - required: - - request_uuid - - company_uuid - - start_year - - end_year - properties: - request_uuid: - type: string - format: uuid - description: The UUID of the report request. Use this to poll for report completion. - company_uuid: - type: string - format: uuid - description: The UUID of the company. - start_year: - type: integer - description: The start year for the report. - end_year: - type: integer - description: The end year for the report. - x-examples: - accepted: - request_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - company_uuid: 12345678-abcd-ef12-3456-7890abcdef12 - start_year: 2023 - end_year: 2024 - securitySchemes: - CompanyAccessAuth: - type: http - scheme: bearer - description: Company-level authentication - SystemAccessAuth: - type: http - scheme: bearer - description: System-level authentication - responses: - Unprocessable-Entity-Error-Object: - description: "Unprocessable Entity \n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" - content: - application/json: + required: + - payroll_type + required: true + x-speakeasy-name-override: skip + "/v1/companies/{company_id}/payrolls/{payroll_id}/submit": + put: + summary: Submit payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: put-v1-companies-company_id-payrolls-payroll_id-submit + security: + - CompanyAccessAuth: [] + description: |- + Submits an unprocessed payroll to be calculated and run. This submission is asynchronous and a successful request responds with a 202 HTTP status. Upon success, transitions the payroll to the `processed` state. + + You should poll to ensure that payroll is processed successfully, as async errors only occur after async processing is complete. + + If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers as described in the error responses. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + submission_blockers: + type: array + description: An array of submission_blockers, each with a selected unblock option. + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Request-Type" + x-speakeasy-name-override: submit + "/v1/payrolls/{payroll_uuid}/gross_up": + post: + summary: Calculate gross up for a payroll + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + description: The UUID of the payroll + required: true + schema: + type: string + operationId: post-payrolls-gross-up-payroll_uuid + security: + - CompanyAccessAuth: [] + description: |- + Calculates gross up earnings for an employee's payroll, given net earnings. This endpoint is only applicable to off-cycle unprocessed payrolls. + + The gross up amount must then be mapped to the corresponding fixed compensation earning type to get the correct payroll amount. For example, for bonus off-cycles, the gross up amount should be set with the Bonus earning type in the payroll `fixed_compensations` field. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Gross-Up-Response" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Gross-Up-Request" + required: true + x-speakeasy-name-override: calculateGrossUp + "/v1/payrolls/{payroll_id}/employees/{employee_id}/calculate_accruing_time_off_hours": + post: + summary: Calculate accruing time off hours + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-payrolls-payroll_id-calculate_accruing_time_off_hours + security: + - CompanyAccessAuth: [] + description: |- + 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. + + scope: `payrolls:read` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Calculate-Accruing-Time-Off-Hours-Response" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Calculate-Accruing-Time-Off-Hours-Request" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: calculateAccruingTimeOffHours + "/v1/companies/{company_id}/people_batches": + post: + summary: Create a people batch + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + operationId: post-v1-companies-company_id-people_batches + security: + - CompanyAccessAuth: [] + description: |- + Creates a batch for bulk employee creation. + + The batch is processed asynchronously. Use the returned batch UUID to poll for status and results. + + scope: `people_batches:write` + tags: + - People Batches + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/People-Batch" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: conflict - idempotency key already used + content: + application/json: + schema: + "$ref": "#/components/schemas/People-Batch-Conflict-Error" + '422': + description: unprocessable entity - validation errors + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - idempotency_key + - batch_action + - batch + properties: + idempotency_key: + type: string + format: uuid + description: A unique identifier to ensure idempotency of the batch request + example: 550e8400-e29b-41d4-a716-446655440000 + batch_action: + type: string + enum: + - create + description: The action to perform on the batch + example: create + batch: + type: array + description: Array of people to create + items: + type: object + required: + - entity_type + - person + properties: + entity_type: + type: string + enum: + - employee + description: The type of entity to create + example: employee + person: + type: object + required: + - external_id + - first_name + - last_name + properties: + external_id: + type: string + description: External identifier for the person + first_name: + type: string + description: Legal first name + last_name: + type: string + description: Legal last name + middle_initial: + type: + - string + - 'null' + maxLength: 1 + minLength: 1 + description: Middle initial + preferred_first_name: + type: + - string + - 'null' + description: Preferred first name + email: + type: + - string + - 'null' + format: email + description: Personal email address + work_email: + type: + - string + - 'null' + format: email + description: Work email address + ssn: + type: + - string + - 'null' + description: 'Social Security Number (format: xxx-xx-xxxx)' + date_of_birth: + type: + - string + - 'null' + format: date + description: Date of birth (YYYY-MM-DD) + self_onboarding: + type: + - boolean + - 'null' + description: Whether the employee will complete their own onboarding + home_address: + type: object + description: Home address for the employee + required: + - street_1 + - city + - state + - zip + properties: + street_1: + type: string + description: Street address line 1 + street_2: + type: string + description: Street address line 2 + city: + type: string + description: City + state: + type: string + description: State abbreviation + zip: + type: string + description: ZIP code + x-speakeasy-name-override: zip_code + country: + type: string + description: Country (defaults to USA) + work_from_home: + type: boolean + description: If true, a company work address will be created based on this home address and the `work_address` property is not allowed. + work_address: + type: object + description: Specify the company work location for the employee + required: + - location_uuid + properties: + location_uuid: + type: string + format: uuid + description: UUID of an existing company work location + job: + type: object + description: Job details for the employee (required if compensation is provided) + required: + - title + - hire_date + properties: + title: + type: string + description: Job title + hire_date: + type: string + format: date + description: The date when the employee was hired or rehired for the job. + two_percent_shareholder: + type: boolean + description: Whether the employee owns at least 2% of the company. Can only be `true` for S-Corp companies. + state_wc_covered: + type: + - boolean + - 'null' + description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). + state_wc_class_code: + type: + - string + - 'null' + description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. + department: + type: object + description: Department details for the employee + required: + - department_uuid + properties: + department_uuid: + type: string + format: uuid + description: UUID of an existing company department + compensation: + type: object + description: Compensation details for the employee (requires job to be provided) + required: + - rate + - payment_unit + - flsa_status + properties: + rate: + type: string + description: The dollar amount paid per payment unit. + payment_unit: + type: string + enum: + - Hour + - Week + - Month + - Year + - Paycheck + description: The unit accompanying the compensation rate. If the employee is an owner, rate should be `Paycheck`. + flsa_status: + type: string + enum: + - Exempt + - Salaried Nonexempt + - Nonexempt + - Owner + - Commission Only Exempt + - Commission Only Nonexempt + description: The FLSA status for this compensation. Salaried ('Exempt') employees are paid a fixed salary every pay period. Salaried with overtime ('Salaried Nonexempt') employees are paid a fixed salary every pay period, and receive overtime pay when applicable. Hourly ( 'Nonexempt') employees are paid for the hours they work, and receive overtime pay when applicable. Commissioned employees ('Commission Only Exempt') earn wages based only on commission. Commissioned with overtime ('Commission Only Nonexempt') earn wages based on commission, and receive overtime pay when applicable. Owners ('Owner') are employees that own at least twenty percent of the company. If selecting `Owner`, `payment_unit` must be `"Paycheck"`. + bank_accounts: + type: array + description: |- + Creates employee bank account(s) and payment method(s) for direct deposit. Payments can be split across accounts by Percentage or by Amount. If splitting payments by `Percentage`, all splits must have a `split_amount` and the percentages must add up to `100`. + If splitting payments by `Amount`, the priority is set based on the order of the bank accounts in the array and the last bank account is the remainder account (should have `split_amount` set to `null`). + items: + type: object + required: + - type + - account_type + - routing_number + - account_number + - split_by + properties: + name: + type: + - string + - 'null' + description: Account nickname + account_type: + type: string + enum: + - Checking + - Savings + description: Type of bank account + routing_number: + type: string + description: Bank routing number + account_number: + type: string + description: Bank account number + type: + type: string + enum: + - Direct Deposit + description: Payment type (must be Direct Deposit) + split_by: + type: string + enum: + - Amount + - Percentage + description: How to split deposits, must be the same for all bank accounts. If split_by is `Percentage`, then the split_amounts must add up to exactly 100. + split_amount: + type: + - string + - 'null' + description: Split amount in percentage or CENTS (`null` for remainder account) + required: true + "/v1/people_batches/{people_batch_uuid}": + get: + summary: Get a people batch + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: people_batch_uuid + in: path + description: The UUID of the people batch + required: true + schema: + type: string + operationId: get-v1-people_batches-people_batch_uuid + security: + - CompanyAccessAuth: [] + description: |- + Returns the status and results of a people batch. + + Poll this endpoint to check the batch processing status and retrieve results. + + scope: `people_batches:read` + tags: + - People Batches + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/People-Batch-Results" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/plaid/processor_token": + post: + summary: Create a bank account from a plaid processor token + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-plaid-processor_token + security: + - CompanyAccessAuth: [] + description: "This endpoint creates a new **verified** bank account by using a plaid processor token to retrieve its information.\n\n> \U0001F4D8\n> To create a token please use the [plaid api](https://plaid.com/docs/api/processors/#processortokencreate) and select \"gusto\" as processor.\n\n> \U0001F6A7 Warning - Company Bank Accounts\n>\n> If a default company bank account exists, it will be disabled and the new bank account will replace it as the company's default funding method.\n\nscope: `plaid_processor:write`" + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: A JSON object containing bank information + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Plaid-Processor-Token-Request" + required: true + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: createFromPlaidToken + "/v1/companies/{company_uuid}/recovery_cases": + get: + summary: Get all recovery cases for a company + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-recovery-cases + security: + - CompanyAccessAuth: [] + description: |- + Fetch all recovery cases for a company. + + scope: `recovery_cases:read` + tags: + - Recovery Cases + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Recovery-Case" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: recoveryCases + x-speakeasy-name-override: get + "/v1/recovery_cases/{recovery_case_uuid}/redebit": + put: + summary: Initiate a redebit for a recovery case + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: recovery_case_uuid + in: path + required: true + description: The UUID of the recovery case + schema: + type: string + operationId: redebit-recovery-case + security: + - CompanyAccessAuth: [] + description: |- + After resolving the underlying bank error, initiate a redebit for an open recovery case. This submission is asynchronous and a successful request responds with a 202 HTTP status. + + It may take up to four business days for the ACH debit to process; in the meantime, the status of the recovery case will be in the `initiated_redebit` state. When funds are successfully redebited, the recovery case is transitioned to the `recovered` state. + + If the company has exceeded maximum redebit attempts, or if the recovery case is not in a redebitable state, the response will be 422 Unprocessable Entity. + + scope: `recovery_cases:write` + tags: + - Recovery Cases + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: recoveryCases + x-speakeasy-name-override: redebit + "/v1/employees/{employee_id}/recurring_reimbursements": + get: + summary: Get recurring reimbursements for an employee + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + operationId: get-v1-employees-employee_id-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Get all active recurring reimbursements for an employee. + + scope: `reimbursements:read` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + post: + summary: Create a recurring reimbursement + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + operationId: post-v1-employees-employee_id-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Create a recurring reimbursement for an employee. + + scope: `reimbursements:write` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - amount + properties: + description: + type: string + description: The description of the reimbursement + amount: + type: number + description: The dollar amount of the reimbursement + required: true + "/v1/recurring_reimbursements/{id}": + get: + summary: Get a recurring reimbursement + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + description: The UUID of the reimbursement + required: true + schema: + type: string + operationId: get-v1-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Get a specific recurring reimbursement. + + scope: `reimbursements:read` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update a recurring reimbursement + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + description: The UUID of the reimbursement + required: true schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - examples: - Basic: - value: - errors: - - error_key: base - category: payroll_blocker - message: Company must complete all onboarding requirements in order to run payroll. - metadata: - key: needs_onboarding - Resource: - value: - errors: - - error_key: first_name - category: invalid_attribute_value - message: First name is required - - error_key: date_of_birth - category: invalid_attribute_value - message: Date of birth is not a valid date - Nested: - value: - errors: - - error_key: contractor_payments - category: nested_errors - metadata: - contractor_uuid: 72ae4617-daa9-4ed7-85e0-18ed5d0ee835 - errors: - - error_key: hours - category: invalid_attribute_value - message: Ella Fitzgerald is paid fixed wage and hours cannot be set on a contractor payment - - error_key: contractor_payments - category: nested_errors - metadata: - contractor_uuid: 2d7bf62c-babf-4a12-8292-340e2d9cab28 - errors: - - error_key: wage - category: invalid_attribute_value - message: Isaiah Berlin is paid hourly and wage cannot be set on a contractor payment - Not-Found-Error-Object: - description: "Not Found \n \nThe requested resource does not exist. Make sure the provided UUID is valid.\n" - Employment-Not-Found-Error-Object: + type: string + operationId: put-v1-recurring_reimbursements + security: + - CompanyAccessAuth: [] description: |- - Not Found + Update a recurring reimbursement. - * The requested resource does not exist. Make sure the provided UUID is valid. - * The employee's employment is not in the right state. - content: - application/json: + scope: `reimbursements:write` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement" + '409': + description: invalid version + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + description: + type: string + description: The description of the reimbursement + amount: + type: number + description: The dollar amount of the reimbursement + required: true + delete: + summary: Delete a recurring reimbursement + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - examples: - Example: - value: - errors: - - error_key: employment - category: incorrect_state - message: The employee's employment is not in the right state. - Authentication-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + description: The UUID of the reimbursement + required: true schema: - "$ref": "#/components/schemas/Authentication" - examples: - Example: - value: - access_token: 737HdeXfIqgx-NfaUFRuhV7JDe6ns6ptanJSMuQzjlc - token_type: bearer - expires_in: 7200 - refresh_token: iEjL96L9Pndwmi-xVX3Q-xbrvvhnjHYGX87sopgGJ8E - scope: ach_transactions:read benefits:read companies:read - created_at: 1732033824 - Holiday-Pay-Policy-Object: - description: Holiday Pay Policy Object Example - content: - application/json: + type: string + operationId: delete-v1-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Delete (soft delete) a recurring reimbursement for an employee. + + scope: `reimbursements:write` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_uuid}/reports": + post: + summary: Create a custom report + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Holiday-Pay-Policy" - examples: - Example: - value: - version: 1b37938b017c7fd7116bada007072290 - company_uuid: b7845189-f12b-4378-918a-d2b9de3dc4ea - federal_holidays: - new_years_day: - selected: false - name: New Year's Day - date: January 1 - mlk_day: - selected: true - name: Martin Luther King, Jr. Day - date: Third Monday in January - presidents_day: - selected: false - name: Presidents' Day - date: Third Monday in February - memorial_day: - selected: true - name: Memorial Day - date: Last Monday in May - juneteenth: - selected: false - name: Juneteenth - date: June 19 - independence_day: - selected: true - name: Independence Day - date: July 4 - labor_day: - selected: false - name: Labor Day - date: First Monday in September - columbus_day: - selected: false - name: Columbus Day (Indigenous Peoples' Day) - date: Second Monday in October - veterans_day: - selected: true - name: Veterans Day - date: November 11 - thanksgiving: - selected: true - name: Thanksgiving - date: Fourth Thursday in November - christmas_day: - selected: true - name: Christmas Day - date: December 25 - employees: - uuid: 1ca3cd25-3eda-48c6-ac88-f0e7fb91a15a - Paid-Holidays-Object: - description: Paid Holidays Object Example - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company schema: - "$ref": "#/components/schemas/Paid-Holidays" - examples: - Example: - value: - - holiday_key: veterans_day - holiday_name: Veterans Day - start_date: '2023-11-11' - end_date: '2023-11-11' - Department-Object: - description: Department Object Example - content: - application/json: + type: string + operationId: post-companies-company_uuid-reports + security: + - CompanyAccessAuth: [] + description: |- + Create a custom report for a company. This endpoint initiates creating a custom report with custom columns, groupings, and filters. The `request_uuid` in the response can then be used to poll for the status and report URL upon completion using the [report GET endpoint](https://docs.gusto.com/embedded-payroll/reference/get-reports-request_uuid). This URL is valid for 10 minutes. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Create-Report" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Create-Report-Body" + required: true + x-speakeasy-name-override: createCustom + "/v1/payrolls/{payroll_uuid}/reports/general_ledger": + post: + summary: Create a general ledger report + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Department" - examples: - Example: - value: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: - - uuid: 41199375-a999-4414-9f40-d9bf596b134d - contractors: - - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 - Ytd-Benefit-Amounts-From-Different-Company-List: - description: List of Ytd Benefit Amounts From Different Company List - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + required: true + description: The UUID of the payroll + schema: + type: string + operationId: post-payrolls-payroll_uuid-reports-general_ledger + security: + - CompanyAccessAuth: [] + description: |- + Create a general ledger report for a payroll. The report can be aggregated by different dimensions such as job or department. + + Use the `request_uuid` in the response with the [report GET endpoint](../reference/get-reports-request_uuid) to poll for the status and report URL upon completion. The retrieved report will be generated in a JSON format. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/General-Ledger-Report" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/General-Ledger-Report-Body" + required: true + "/v1/reports/{request_uuid}": + get: + summary: Get a report + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company" - examples: - Example: - value: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d3 - benefit_type: 1 - ytd_employee_deduction_amount: '5000.00' - ytd_company_contribution_amount: '2500.00' - - uuid: 1bfdb946-b2be-4909-ac46-9e7f73872d0a - benefit_type: 5 - ytd_employee_deduction_amount: '2132.00' - ytd_company_contribution_amount: '3345.00' - Department-List: - description: List of departments - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: request_uuid + in: path + required: true + description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. schema: - type: array - items: - "$ref": "#/components/schemas/Department" - examples: - Example: - value: - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: - - uuid: 41199375-a999-4414-9f40-d9bf596b134d - contractors: [] - - uuid: ec5c8a85-3233-4f39-a9f5-fb1ab7b5f5f3 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Actors - version: 34f39a30b45d077cb83aed2df4810d74 - employees: - - uuid: 7ee4aca1-814b-4034-b0f8-07f93cc679d1 - contractors: [] - - uuid: 1802465d-4f68-4865-920c-1307ab095f12 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Band - version: 1fe3076d35ef7c97d0ae68c5f4df0acd - employees: - - uuid: a73955be-c009-44dc-915e-6246e2bdedbb - contractors: - - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 - Employee-Object: - description: Example response - content: - application/json: + type: string + operationId: get-reports-request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a company's report given the `request_uuid`. The response will include the report request's status and, if complete, the report URL. + + Reports containing PHI are inaccessible with `company_reports:read:tier_2_only` data scope + + scope: `company_reports:read` + tags: + - Reports + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Report" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_uuid}/report_templates/{report_type}": + get: + summary: Get a report template + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Employee" - examples: - Create-Employee-Example: - value: - uuid: 4b3f930f-82cd-48a8-b797-798686e12e5e - first_name: Isom - middle_initial: - last_name: Jaskolski - email: dane7757869450111550@botsford.net - company_uuid: a007e1ab-3595-43c2-ab4b-af7a5af2e365 - manager_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - employee_code: fesa3w - version: 1c7ba9d62c8bafbfff998ffccad5d296 - department: Stage Hand - department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 - terminated: false - two_percent_shareholder: false - onboarded: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: 428a653a-0745-4db4-9c80-558288d416fa - version: 6c0ed1521e8b86eb36bd4455a63a2dac - employee_uuid: f0689739-1985-49f3-b9ba-84562e71e85f - current_compensation_uuid: c9fd719b-8b07-48f3-8a4c-f447d2c59669 - payment_unit: Year - primary: true - title: Client Support Director - compensations: - - uuid: 145660ed-6fcc-4211-8915-18e2786290a2 - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: 857feae3-414e-445d-b28b-2eb3ef50155e - effective_date: '2021-01-20' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2020-01-20' - eligible_paid_time_off: - - name: Sick Hours - policy_name: Sick Policy - policy_uuid: 9940d205-9904-4e55-9fec-652628e84af7 - accrual_unit: Hour - accrual_rate: '208.0' - accrual_method: per_hour_worked - accrual_period: Year - accrual_balance: '31.8' - maximum_accrual_balance: '240.0' - paid_at_termination: false - - name: Vacation Hours - policy_name: Vacation Policy - policy_uuid: ab59de61-239f-4805-933b-0e3360ed291c - accrual_unit: Hour - accrual_rate: '208.0' - accrual_period: Year - accrual_balance: '77.8' - maximum_accrual_balance: '240.0' - paid_at_termination: true - terminations: [] - custom_fields: - - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - value: md - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - garnishments: [] - date_of_birth: '1986-06-25' - has_ssn: false - ssn: '' - phone: '1234567890' - preferred_first_name: Angel - work_email: angel.jaskolski@example.com - Create Historical Employee Example: - value: - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - first_name: Karl - middle_initial: - last_name: Jaskolski - email: - company_uuid: 3c69d228-a250-49b4-9946-24e4e4294da4 - manager_uuid: - employee_code: rke7p1 - version: dedac972dd28945fcd6cd941723cc71a - department: - department_uuid: - terminated: false - two_percent_shareholder: false - onboarded: true - historical: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: f0be5480-7a15-4583-b0d0-789c02a1afe4 - version: 1c0722f3e090713b6a0db7c39904693e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - current_compensation_uuid: 1a1faa42-274b-4440-b200-a5d81df14af2 - payment_unit: Year - primary: true - title: Client Support Director - compensations: - - uuid: 145660ed-6fcc-4211-8915-18e2786290a2 - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: 857feae3-414e-445d-b28b-2eb3ef50155e - effective_date: '2023-11-01' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2023-11-01' - eligible_paid_time_off: [] - terminations: - - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - active: false - effective_date: '2023-12-31' - run_termination_payroll: false - cancelable: true - version: e6c865df784842196d411c1466b01686 - garnishments: [] - date_of_birth: '1986-06-25' - has_ssn: false - ssn: '' - phone: - preferred_first_name: - work_email: - Historical-Employee-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company schema: - "$ref": "#/components/schemas/Employee" - examples: - Create Historical Employee Example: - value: - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - first_name: Karl - middle_initial: - last_name: Jaskolski - email: - company_uuid: 3c69d228-a250-49b4-9946-24e4e4294da4 - manager_uuid: - employee_code: eh3st1 - version: dedac972dd28945fcd6cd941723cc71a - department: - department_uuid: - terminated: true - two_percent_shareholder: false - onboarded: true - historical: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: f0be5480-7a15-4583-b0d0-789c02a1afe4 - version: 1c0722f3e090713b6a0db7c39904693e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - current_compensation_uuid: 1a1faa42-274b-4440-b200-a5d81df14af2 - payment_unit: Year - primary: true - title: Client Support Director - compensations: - - uuid: 145660ed-6fcc-4211-8915-18e2786290a2 - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: 857feae3-414e-445d-b28b-2eb3ef50155e - effective_date: '2023-11-01' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2023-11-01' - eligible_paid_time_off: [] - terminations: - - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - active: false - effective_date: '2023-12-31' - run_termination_payroll: false - cancelable: true - version: e6c865df784842196d411c1466b01686 - garnishments: [] - date_of_birth: '1986-06-25' - has_ssn: false - ssn: '' - phone: - preferred_first_name: - work_email: - Employee-List: - description: Example response - content: - application/json: + type: string + - name: report_type + in: path + required: true + description: The report type schema: - type: array - items: - "$ref": "#/components/schemas/Employee" - examples: - Example: - value: - - uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 - first_name: Nicole - middle_initial: M - last_name: Boehm - email: kory7757869450111548@barton-hermiston.io - company_uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - manager_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - version: 414dedaca594b77135e0b8d2f398516d - department: Stage Hand - department_uuid: 1802465d-4f68-4865-920c-1307ab095f12 - terminated: false - two_percent_shareholder: false - onboarded: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: 9d5e3ce5-ea8f-4885-90e5-7ebbed03f7c5 - i9_document: true - jobs: - - uuid: 5d5e3ce5-ea8f-4885-90e5-7ebaed03f7c5 - version: 91179081a7309c9fbd31bb3cf7b9893e - employee_uuid: a987bce1-6d06-43f8-9978-9db886f479fb - current_compensation_uuid: 798a962f-0fcf-491e-9b71-cfa6a1db114f - payment_unit: Hour - primary: true - title: Client Support Manager - compensations: - - uuid: 94f17a77-cfe5-436a-af94-422bbf8248ff - version: 233f0096a8015e62d9795fadf1fd300d - payment_unit: Hour - flsa_status: Nonexempt - job_uuid: 64711ac0-83ff-4aaf-bec1-db72f5a44e56 - effective_date: '2021-01-20' - rate: '22.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '22.00' - hire_date: '2020-01-20' - eligible_paid_time_off: - - name: Sick Hours - policy_name: Sick Policy - policy_uuid: 9940d205-9904-4e55-9fec-652628e84af7 - accrual_unit: Hour - accrual_rate: '208.0' - accrual_method: per_hour_worked - accrual_period: Year - accrual_balance: '71.0' - maximum_accrual_balance: '240.0' - paid_at_termination: false - - name: Vacation Hours - policy_name: Vacation Policy - policy_uuid: 8b312f0e-30e7-4810-9c06-1177a6484f2d - accrual_unit: Hour - accrual_rate: '208.0' - accrual_period: Year - accrual_balance: '34.0' - maximum_accrual_balance: '240.0' - paid_at_termination: true - terminations: [] - garnishments: [] - date_of_birth: '1996-05-08' - has_ssn: true - ssn: '' - phone: '1234567890' - preferred_first_name: Vanessa - work_email: vanessa.boehm@example.com - - uuid: d7cb289a-af62-4120-9cd5-acda324b5c04 - first_name: Maci - middle_initial: M - last_name: Cassin - email: claud_reinger7757869450111549@gutkowski.net - company_uuid: 4522d043-5731-406d-a129-de1808042a32 - manager_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - version: e867459e1360fa71e78b88142923d341 - department: Band - department_uuid: 1802465d-4f68-4865-920c-1307ab095f12 - terminated: false - two_percent_shareholder: false - onboarded: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: 1d5e3ce5-ea8f-4885-90e5-7ebbed03f7c5 - i9_document: true - jobs: - - uuid: 62a00cf7-342b-465e-a151-ecd295152be0 - version: d0e719137f89ca3dd334dd4cc248ffbb - employee_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - current_compensation_uuid: 93e5da92-173b-4faa-a0bd-d1a8dee68be0 - payment_unit: Year - primary: true - title: Account Director - compensations: - - uuid: 1bad5177-c4ed-432e-ab43-66055d40c3a5 - version: 994b75511d1debac5d7e2ddeae13679f - payment_unit: Year - flsa_status: Exempt - job_uuid: 1214875b-f43d-4267-bf2f-a6d2c298ff3d - effective_date: '2021-01-20' - rate: '78000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '78000.00' - hire_date: '2020-01-20' - eligible_paid_time_off: - - name: Sick Hours - policy_name: Sick Policy - policy_uuid: 8b312f0e-30e7-4810-9c06-1177a6484f2d - accrual_unit: Hour - accrual_rate: '208.0' - accrual_method: per_hour_worked - accrual_period: Year - accrual_balance: '74.0' - maximum_accrual_balance: '240.0' - paid_at_termination: false - - name: Vacation Hours - policy_name: Vacation Policy - policy_uuid: 0d4c755e-50ac-4c54-b46e-81bdfa03da5b - accrual_unit: Hour - accrual_rate: '208.0' - accrual_period: Year - accrual_balance: '16.0' - maximum_accrual_balance: '240.0' - paid_at_termination: true - terminations: [] - garnishments: [] - custom_fields: - - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - value: md - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - date_of_birth: '1995-09-21' - has_ssn: true - ssn: '' - phone: '1234567890' - preferred_first_name: Denis - work_email: denis.cassin@example.com - Employee-Address-Object: - description: Example response - content: - application/json: + type: string + operationId: get-companies-company_uuid-report-templates-report_type + security: + - CompanyAccessAuth: [] + description: |- + Get a company's report template. The only supported report type is `payroll_journal`. The resulting columns and groupings from this endpoint can be used as a guidance to create the report using the POST create report endpoint. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Report-Template" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: getTemplate + "/v1/employees/{employee_id}/salary_estimates": + post: + summary: Create a salary estimate for an employee + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Employee-Address" - examples: - Example: - value: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - employee_id: 12345 - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: false - effective_date: '2021-01-01' - courtesy_withholding: true - Employee-Address-List: - description: List of employee addresses - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Address" - examples: - Example: - value: - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - employee_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: false - effective_date: '2021-01-01' - courtesy_withholding: true - - uuid: d9f74049-8769-4fba-8e0f-eceef2da4e6b - employee_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - street_1: 100 5th Ave - street_2: Suite 555 - city: New York - state: NY - zip: '10001' - country: USA - active: true - effective_date: '2022-03-03' - courtesy_withholding: true - Employee-Work-Address-List: - description: List of employee work addresses - content: - application/json: + type: string + operationId: post-v1-employees-employee_id-salary_estimates + security: + - CompanyAccessAuth: [] + description: |- + Create a salary estimate for an employee. This endpoint helps calculate a reasonable salary for S Corp owners based on their occupation, experience level, location, and business revenue. + + A salary estimate must include: + - Annual net revenue of the business + - ZIP code for location-based salary data + - One or more occupations with experience levels and time percentages (must sum to 100%) + + Only one in-progress salary estimate can exist per employee at a time. If an in-progress estimate already exists, you must either accept it or use the update endpoint. + + scope: `salary_estimates:write` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: successfully created + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '422': + description: unprocessable entity - invalid parameters + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - zip_code + - occupations + properties: + annual_net_revenue: + type: + - number + - 'null' + description: The annual net revenue of the business (must be greater than 0) + example: 500000 + zip_code: + type: string + description: The ZIP code for location-based salary calculations + pattern: "^\\d{5}$" + example: '94107' + occupations: + type: array + description: Array of occupations. Time percentages must sum to 100%. + minItems: 1 + items: + type: object + required: + - code + - experience_level + - time_percentage + properties: + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code + example: '151252' + experience_level: + type: string + description: Experience level for this occupation + enum: + - novice + - intermediate + - average + - skilled + - expert + example: skilled + time_percentage: + type: string + format: float + description: Percentage of time spent in this occupation (as decimal, e.g., 1.0 = 100%) + minimum: 0 + maximum: 1 + example: '1.0' + primary: + type: boolean + description: Whether this is the primary occupation + example: true + required: true + "/v1/salary_estimates/{uuid}": + get: + summary: Get a salary estimate + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Work-Address" - examples: - Example: - value: - - uuid: fc5b87dc-8d88-400d-b2da-c3587a7e5b15 - employee_uuid: 7597f3e3-31d4-4953-83a5-f95be78d2fe2 - location_uuid: d9456c94-f561-40d2-afec-919da5f59196 - effective_date: '2022-01-01' - active: false - version: 139f9769a2e543e6a1259173e1ee3b8d - street_1: 800 Adolfo Gardens - street_2: Suite 419 - city: Bremen - state: AL - zip: '35033' - country: USA - - uuid: be1c2e24-af86-4c36-b34e-3a55dbcdbdab - employee_uuid: 7597f3e3-31d4-4953-83a5-f95be78d2fe2 - location_uuid: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 - effective_date: '2023-01-01' - active: true - version: bbe8d4c741339c6b9e0e2e1c1b120816 - street_1: 2216 Icie Villages - street_2: Apt. 798 - city: Big Delta - state: AK - zip: '99737' - country: USA - Company-Onboarding-Status-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: uuid + in: path + required: true + description: The UUID of the salary estimate schema: - "$ref": "#/components/schemas/Company-Onboarding-Status" - examples: - Example: - value: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_completed: false - onboarding_steps: - - title: Add Your Company's Addresses - id: add_addresses - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Enter Your Federal Tax Information - id: federal_tax_setup - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Select Industry - id: select_industry - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Add Your Bank Account - id: add_bank_info - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: false - requirements: [] - - title: Add Your Employees - id: add_employees - required: true - completed: true - completed_at: '2025-02-18T10:00:00Z' - skippable: true - requirements: - - add_addresses - - title: Enter Your State Tax Information - id: state_setup - required: true - completed: false - completed_at: - skippable: false - requirements: - - add_addresses - - add_employees - - title: Select a Pay Schedule - id: payroll_schedule - required: true - completed: false - completed_at: - skippable: false - requirements: [] - - title: Sign Documents - id: sign_all_forms - required: true - completed: false - completed_at: - skippable: false - requirements: - - add_employees - - federal_tax_setup - - state_setup - - add_bank_info - - payroll_schedule - - title: Verify Your Bank Account - id: verify_bank_info - required: true - completed: false - completed_at: - skippable: false - requirements: - - add_bank_info - Company-Onboarding-Status-Finish-Onboarding-Object: - description: Example response - content: - application/json: + type: string + operationId: get-v1-salary_estimates-id + security: + - CompanyAccessAuth: [] + description: |- + Retrieve a salary estimate by its UUID. Returns the estimated salary calculation along with all occupation details, revenue, and location information. + + scope: `salary_estimates:read` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update a salary estimate + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Company-Onboarding-Status" - examples: - Example: - value: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_completed: true - onboarding_steps: - - title: Add Your Company's Addresses - id: add_addresses - required: true - completed: true - skippable: false - requirements: [] - - title: Enter Your Federal Tax Information - id: federal_tax_setup - required: true - completed: true - skippable: false - requirements: [] - - title: Select Industry - id: select_industry - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Bank Account - id: add_bank_info - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Employees - id: add_employees - required: true - completed: true - skippable: true - requirements: - - add_addresses - - title: Enter Your State Tax Information - id: state_setup - required: true - completed: true - skippable: false - requirements: - - add_addresses - - add_employees - - title: Select a Pay Schedule - id: payroll_schedule - required: true - completed: true - skippable: false - requirements: [] - - title: Sign Documents - id: sign_all_forms - required: true - completed: true - skippable: false - requirements: - - add_employees - - federal_tax_setup - - state_setup - - add_bank_info - - payroll_schedule - - title: Verify Your Bank Account - id: verify_bank_info - required: true - completed: true - skippable: false - requirements: - - add_bank_info - Webhook-Subscription-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: uuid + in: path + required: true + description: The UUID of the salary estimate schema: - "$ref": "#/components/schemas/Webhook-Subscription" - examples: - Example: - value: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - url: https://the-partner-app.com/subscriber - status: verified - subscription_types: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PayrollSync - - PaySchedule - - Signatory - Webhook-Subscriptions-List: - description: Example response - content: - application/json: + type: string + operationId: put-v1-salary_estimates-id + security: + - CompanyAccessAuth: [] + description: |- + Update an existing salary estimate. You can modify the annual net revenue, ZIP code, and occupations. + + The salary estimate must not be finalized (accepted). Once accepted, salary estimates become read-only for record-keeping purposes. + + scope: `salary_estimates:write` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '422': + description: unprocessable entity - already finalized + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - zip_code + - occupations + properties: + annual_net_revenue: + type: + - number + - 'null' + description: The annual net revenue of the business (must be greater than 0) + example: 600000 + zip_code: + type: string + description: The ZIP code for location-based salary calculations + pattern: "^\\d{5}$" + example: '94107' + occupations: + type: array + description: Array of occupations. Time percentages must sum to 100%. + minItems: 1 + items: + type: object + required: + - code + - experience_level + - time_percentage + properties: + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code + example: '151252' + experience_level: + type: string + description: Experience level for this occupation + enum: + - novice + - intermediate + - average + - skilled + - expert + example: expert + time_percentage: + type: string + format: float + description: Percentage of time spent in this occupation (as decimal, e.g., 0.5 = 50%) + minimum: 0 + maximum: 1 + example: '0.6' + primary: + type: boolean + description: Whether this is the primary occupation + example: true + required: true + "/v1/salary_estimates/{uuid}/accept": + post: + summary: Accept a salary estimate + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Webhook-Subscription" - examples: - Example: - value: - - uuid: dcceb38a-46be-4110-9d1d-1b3384c3b906 - url: https://6116-2603-6000-8900-3d42-58e7-f1e3-b394-1f21.ngrok.io/subscriber - status: pending - subscription_types: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PayrollSync - - PaySchedule - - Signatory - Company-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: uuid + in: path + required: true + description: The UUID of the salary estimate schema: - "$ref": "#/components/schemas/Company" - examples: - Example: - value: - ein: 00-0000001 - entity_type: C-Corporation - tier: core - contractor_only: false - is_suspended: false - company_status: Approved - uuid: c7a07c73-a703-4462-9343-1b181182b6e0 - name: Shoppe Studios LLC - trade_name: Record Shoppe - slug: record-shoppe - is_partner_managed: false - pay_schedule_type: by_department - join_date: '2023-03-01' - funding_type: ach - locations: - - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: true - compensations: - hourly: - - name: Overtime - multiple: 1.5 - - name: Double overtime - multiple: 2 - - name: Regular - multiple: 1 - - name: Outstanding vacation - multiple: 1 - - name: Holiday - multiple: 1 - - name: Emergency sick - self care - multiple: 1 - - name: Emergency sick - caring for others - multiple: 1 - - name: FMLA Public Health Emergency Leave - multiple: 1 - - name: Regular Hours - multiple: 1 - fixed: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Severance - - name: Minimum Wage Adjustment - - name: Reimbursement - paid_time_off: - - name: Vacation Hours - - name: Sick Hours - - name: Holiday Hours - primary_signatory: - uuid: 8a2ed9c2-9d1e-443a-8e56-a490d8bf73bb - first_name: Alda - middle_initial: '' - last_name: Carter - phone: 1-565-710-7558 - email: louie.hessel7757869450111547@zemlak.biz - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - primary_payroll_admin: - first_name: Ian - last_name: Labadie - phone: 1-565-710-7559 - email: louie.hessel7757869450111547@zemlak.biz - Signatory-Object: - description: Example response - content: - application/json: + type: string + operationId: post-v1-salary_estimates-uuid-accept + security: + - CompanyAccessAuth: [] + description: |- + Accept and finalize a salary estimate. This associates the estimate with an employee job and marks it as accepted. + + Once accepted, the salary estimate becomes read-only for record-keeping purposes. The accepted salary can then be used to set up compensation for the employee. + + scope: `salary_estimates:write` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '422': + description: unprocessable entity - invalid employee job + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employee_job_uuid + properties: + employee_job_uuid: + type: string + description: The UUID of the employee job to associate with this salary estimate + example: 7f5d3d93-6d6f-48c0-9f4e-cd12c2d3e4b2 + required: true + "/v1/salary_estimates/occupations": + get: + summary: Search for BLS occupations + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Signatory" - examples: - Example: - value: - uuid: f8c653dc-0094-41fb-8670-45d6399afade - first_name: Bob - last_name: Johnson - title: Owner - phone: '4239879876' - birthday: '2002-10-31' - email: olin.okuneva@denesik.us - is_admin: false - has_ssn: true - version: 49ea586f528411f5cfadfd54452b2423 - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - identity_verification_status: Skipped - Contractor-Address-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: search + in: query + required: true + description: Search term for occupation (minimum 3 characters) + example: software schema: - "$ref": "#/components/schemas/Contractor-Address" - examples: - Example: - value: - version: 23323096a8015e32d9795fadf1fd300d - contractor_uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 - street_1: 999 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: 94107 - country: USA - active: true - Employment-History-List: - description: Example response - content: - application/json: + type: string + operationId: get-v1-salary_estimates-occupations + security: + - SystemAccessAuth: [] + description: "Search for Bureau of Labor Statistics (BLS) occupations by name or keyword. This endpoint helps users find the appropriate occupation codes to use when creating or updating salary estimates.\n\nReturns a list of matching occupations with their codes, titles, and descriptions.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `salary_estimates:read`" + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/BLS-Occupation" + '422': + description: unprocessable entity - search term too short + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/sandbox/generate_w2": + post: + summary: Generate a W2 form [DEMO] + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-sandbox-generate_w2 + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n>\n> This action is only available in the Demo environment\n\nGenerates a W2 document for testing purposes.\n\nscope: `employees:write`" + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: type: object properties: - hire_date: - type: string - description: The employee's start day of work for an employment. - termination_date: + employee_id: type: string - description: The employee's last day of work for an employment. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. - enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - - not_set - x-examples: - example-1: - hire_date: '2023-01-30' - termination_date: '2023-03-30' - file_new_hire_report: false - two_percent_shareholder: false - employment_status: seasonal - examples: - Example: - value: - - hire_date: '2023-05-30' - termination_date: - file_new_hire_report: true - two_percent_shareholder: false - employment_status: seasonal - - hire_date: '2021-02-02' - termination_date: '2023-03-01' - file_new_hire_report: false - two_percent_shareholder: false - employment_status: full_time - Rehire-Object: - description: Example response - content: - application/json: + description: The employee UUID. + year: + type: integer + description: 'Must be equal to or more recent than 2015. If not specified, defaults to the previous year. + +' + required: + - employee_id + required: true + x-speakeasy-group: employeeForms + x-speakeasy-name-override: generateW2 + "/v1/sandbox/generate_1099": + post: + summary: Generate a 1099 form [DEMO] + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Rehire" - examples: - Example: - value: - version: 2e930d43acbdb241f8f14a2d531fa417 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - active: false - effective_date: '2024-01-01' - file_new_hire_report: false - work_location_uuid: d2c80d44-857b-4d4d-bce4-23ae52cc863b, - two_percent_shareholder: false - employment_status: full_time - Unprocessed-Termination-Pay-Period-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-sandbox-generate_1099 + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n>\n> This action is only available in the Demo environment\n\nGenerates a 1099 document for testing purposes.\n\nscope: `contractors:write`" + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Form_1099" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + contractor_id: + type: string + description: The contractor UUID. + year: + type: integer + description: 'Must be equal to or more recent than 2015. If not specified, defaults to the previous year. + +' + required: + - contractor_id + required: true + x-speakeasy-group: contractorForms + x-speakeasy-name-override: generate1099 + "/v1/companies/{company_uuid}/signatories": + get: + summary: Get the signatories for a company + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Unprocessed-Termination-Pay-Period" - examples: - Example: - value: - - start_date: '2023-01-11' - end_date: '2023-01-24' - check_date: '2023-01-28' - debit_date: '2023-01-26' - employee_name: Mary Warner - employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - - start_date: '2023-01-25' - end_date: '2023-02-07' - check_date: '2023-02-10' - debit_date: '2023-02-08' - employee_name: Mary Warner - employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - Accruing-Time-Off-Hour-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: object - required: - - hours_earned - properties: - hours_earned: + type: string + operationId: get-v1-companies-company_uuid-signatories + security: + - CompanyAccessAuth: [] + description: |- + Returns the signatories for a company. A company has at most one signatory. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:read` + tags: + - Signatories + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: type: array items: - "$ref": "#/components/schemas/Accruing-Time-Off-Hour" - examples: - Example: - value: - - time_off_policy_uuid: c3a15554-f124-415d-b2c4-90b430fd8eb1 - hours: '3.2' - - time_off_policy_uuid: 386fc48d-52d2-4009-87b3-368f74f6b3df - hours: '6.0' - Pay-Schedule-Assignment-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Assignment" - examples: - Example: - value: - type: by_employee - employees: - employee_uuid: f0238368-f2cf-43e2-9a07-b0265f2cec69 - pay_schedule_uuid: c277ac52-9871-4a96-a1e6-0c449684602a - Pay-Schedule-Assignment-Preview-Object: - description: Example response - content: - application/json: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create a signatory + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Preview" - examples: - Example: - value: - type: hourly_salaried - employee_changes: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - first_name: Penny - last_name: Parker - pay_frequency: Twice per month — Salaried pay schedule - first_pay_period: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: '2023-07-01' - end_date: '2023-08-01' - check_date: '2023-08-02' - transition_pay_period: - start_date: '2023-06-20' - end_date: '2023-06-30' - Benefit-Summary-Object: - description: Benefit summary response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - "$ref": "#/components/schemas/Benefit-Summary" - examples: - Example: - value: - start_date: '2022-01-01' - end_date: '2022-12-31' - description: Simple IRA - company_benefit_deduction: '60.0' - company_benefit_contribution: '30.0' - employees: - - uuid: 54b7114f-f5e2-4f4b-911b-5cd5ad9032b0 - company_benefit_deduction: '60.0' - company_benefit_contribution: '30.0' - benefit_deduction: '660.0' - benefit_contribution: '330.0' - gross_pay: '18000.0' - imputed_pay: '350.0' - payroll_benefits: - - payroll_uuid: 8cc3471b-9da5-47df-88ea-f238c7cb968b - payroll_type: Regular - check_date: '2022-03-01' - gross_pay: '3000.0' - imputed_pay: '70.0' - company_benefit_deduction: '10.0' - company_benefit_contribution: '5.0' - pay_period: - start_date: '2022-02-01' - end_date: '2022-02-28' - - payroll_uuid: d9d92786-722b-4bf7-bb32-79140418d349 - payroll_type: Bonus - check_date: '2022-12-31' - gross_pay: '3000.0' - imputed_pay: '70.0' - company_benefit_deduction: '20.0' - company_benefit_contribution: '10.0' - pay_period: - start_date: nil - end_date: nil - Company-Benefit-With-Employee-Benefits-Object: - description: Example response - content: - application/json: + type: string + operationId: post-v1-company-signatories + security: + - CompanyAccessAuth: [] + description: |- + Creates a company signatory with complete information. The company must not already have a signatory. + + A signatory can legally sign forms once the identity verification process is successful. The signatory should be an officer, owner, general partner or LLC member manager, plan administrator, fiduciary, or an authorized representative who is designated to sign agreements on the company's behalf. An officer is the president, vice president, treasurer, chief accounting officer, etc. There can only be a single primary signatory in a company. + + ### Webhooks + - `signatory.created`: Fires when a signatory is successfully created. + + ### Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:manage` + tags: + - Signatories + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory-Create-Request" + required: true + x-speakeasy-name-override: create + "/v1/companies/{company_uuid}/signatories/invite": + post: + summary: Invite a signatory + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Company-Benefit-With-Employee-Benefits" - examples: - Example: - value: - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - catch_up_type: elective - employee_benefits: - - employee_uuid: ae44a0b2-3c89-41e1-91c8-5f8224a779ca - company_benefit_uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - active: true - deduct_as_percentage: false - employee_deduction: 3.0 - company_contribution: 0.0 - uuid: 9988f241-9aee-4383-bfca-eac79cf58135 - contribution: - type: amount - value: 0.0 - Employee-Pay-Stubs-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Pay-Stub" - examples: - Example: - value: - - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - check_date: '2023-11-24' - gross_pay: 880.0 - net_pay: 541.02 - payroll_uuid: a039cafb-745e-4af4-bf1e-935a86fc18e0 - check_amount: 500.2 - description: OK - Company-Attachment-Object: - description: Example response - content: - application/json: + type: string + operationId: post-v1-companies-company_uuid-signatories-invite + security: + - CompanyAccessAuth: [] + description: |- + Creates a signatory with minimal information. This signatory can be invited to provide more information through the [Update a signatory](ref:put-v1-companies-company_uuid-signatories-signatory_uuid) endpoint. This will start the identity verification process and allow the signatory to be verified to sign documents. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:manage` + tags: + - Signatories + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory-Invite-Request" + required: true + x-speakeasy-name-override: invite + "/v1/companies/{company_uuid}/signatories/{signatory_uuid}": + put: + summary: Update a signatory + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Company-Attachment" - examples: - Example: - value: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - name: Company_Attachment_File.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - Company-Attachment-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Company-Attachment" - examples: - Example: - value: - - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - name: Company_Attachment_File1.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - name: Company_Attachment_File2.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - Signatory-List: - description: Example response - content: - application/json: + type: string + - name: signatory_uuid + in: path + description: The UUID of the signatory + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Signatory" - examples: - Example: - value: - - uuid: f8c653dc-0094-41fb-8670-45d6399afade - first_name: Bob - last_name: Johnson - title: Owner - phone: '4239879876' - birthday: '2002-10-31' - email: olin.okuneva@denesik.us - is_admin: false - has_ssn: true - version: 49ea586f528411f5cfadfd54452b2423 - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - identity_verification_status: Skipped - External-Payroll-Object: - description: Example response - content: - application/json: + type: string + operationId: put-v1-companies-company_uuid-signatories-signatory_uuid + security: + - CompanyAccessAuth: [] + description: |- + Updates a signatory that has been either invited or created. If the signatory has been created with minimal information through the [Invite a signatory](ref:post-v1-companies-company_uuid-signatories-invite) endpoint, then the first update must contain all attributes specified in the request body in order to start the identity verification process. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:write` + tags: + - Signatories + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory-Update-Request" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a signatory + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/External-Payroll" - examples: - Example: - value: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: '2022-06-03' - payment_period_start_date: '2022-05-15' - payment_period_end_date: '2022-05-30' - status: unprocessed - external_payroll_items: - - employee_uuid: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca - earnings: - - amount: '10000.0' - hours: '0.0' - earning_type: CompanyPayType - earning_id: 1 - - amount: '500.0' - hours: '0.0' - earning_type: CompanyEarningType - earning_id: 4 - benefits: - - benefit_id: 22 - company_contribution_amount: '100.0' - employee_deduction_amount: '50.0' - - benefit_id: 25 - company_contribution_amount: '0.0' - employee_deduction_amount: '300.0' - taxes: - - tax_id: 1 - amount: '400.0' - - tax_id: 2 - amount: '60.0' - applicable_earnings: - - earning_type: CompanyPayType - earning_id: 1 - name: Regular Wages - input_type: amount - category: default - - earning_type: CompanyEarningType - earning_id: 4 - name: Cash Tips - input_type: amount - category: default - applicable_benefits: - - id: 22 - description: Kaiser - active: true - - id: 25 - description: HSA - active: true - applicable_taxes: - - id: 1 - name: Federal Income Tax - employer_tax: false - resident_tax: false - - id: 2 - name: Social Security - employer_tax: false - resident_tax: false - metadata: - deletable: true - External-Payroll-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: array - items: - "$ref": "#/components/schemas/External-Payroll-Basic" - examples: - Example: - value: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: '2022-06-03' - payment_period_start_date: '2022-05-15' - payment_period_end_date: '2022-05-30' - status: unprocessed - External-Payroll-Tax-Suggestions-List: - description: Example response - content: - application/json: + type: string + - name: signatory_uuid + in: path + description: The UUID of the signatory + required: true schema: - type: array - items: - "$ref": "#/components/schemas/External-Payroll-Tax-Suggestions" - examples: - Example: - value: - - employee_uuid: d21848d5-446f-48a8-9430-30fbefeabda4 - tax_suggestions: - - tax_id: 1 - amount: '500.0' - - tax_id: 2 - amount: '100.0' - - tax_id: 4 - amount: '30.0' - Tax-Liabilities-List: - description: Example response - content: - application/json: + type: string + operationId: delete-v1-companies-company_uuid-signatories-signatory_uuid + security: + - CompanyAccessAuth: [] + description: |- + Deletes a company signatory. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:manage` + tags: + - Signatories + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/terminations": + get: + summary: Get terminations for an employee + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Tax-Liabilities-Selections" - examples: - Example: - value: - - tax_id: 1 - tax_name: Federal Income Tax - last_unpaid_external_payroll_uuid: - possible_liabilities: - - liability_amount: '0.0' - payroll_check_date: - external_payroll_uuid: - - liability_amount: '3000.0' - payroll_check_date: '2022-06-01' - external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - - tax_id: 2 - tax_name: Social Security - last_unpaid_external_payroll_uuid: - possible_liabilities: - - liability_amount: '0.0' - payroll_check_date: - external_payroll_uuid: - - liability_amount: '50.0' - payroll_check_date: '2022-06-01' - external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - Flow-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - "$ref": "#/components/schemas/Flow" - examples: - Example: - value: - url: https://flows.gusto-demo.com/flows/lO2BHHAMCScPVV9G5WEURW0Im_nP9mGYloQgjUWbenQ - Form-Object: - description: Example response - content: - application/json: + type: string + operationId: get-v1-employees-employee_id-terminations + security: + - CompanyAccessAuth: [] + description: |- + Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: getTerminations + post: + summary: Create an employee termination + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Form" - examples: - Example: - value: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: company_direct_deposit - title: Direct Deposit Authorization - description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. - draft: false - quarter: - year: - document_content_type: application/pdf - requires_signing: true - Form-Object-Pdf: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - "$ref": "#/components/schemas/Form-Pdf" - examples: - Example: - value: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - document_url: https://app.gusto-demo.com/assets/forms/7757842065202782/original/company_direct_deposit20211007-48226-gsqo8k.pdf?1633667020 - document_content_type: application/pdf - Form-List: - description: Example response - content: - application/json: + type: string + operationId: post-v1-employees-employee_id-terminations + security: + - CompanyAccessAuth: [] + description: |- + Create a termination for an employee. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + effective_date: + type: string + description: The employee's last day of work. + example: '2020-06-30' + run_termination_payroll: + type: boolean + description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + default: false + example: true + required: + - effective_date + example: + effective_date: '2020-06-30' + run_termination_payroll: false + required: true + x-speakeasy-name-override: createTermination + x-speakeasy-group: employeeEmployments + delete: + summary: Delete an employee termination + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Form" - examples: - Example: - value: - - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: company_direct_deposit - title: Direct Deposit Authorization - description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. - draft: false - quarter: - year: - document_content_type: application/pdf - requires_signing: true - Industry-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - "$ref": "#/components/schemas/Industry" - examples: - Example: - value: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - naics_code: '611420' - sic_codes: - - '8243' - title: Computer Training - Job-Object: - description: Example response - content: - application/json: + type: string + operationId: delete-v1-employees-employee_id-terminations + security: + - CompanyAccessAuth: [] + description: |- + Delete an employee termination. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: deleteTermination + "/v1/terminations/{employee_id}": + get: + summary: Get an employee termination + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Job" - examples: - Example: - value: - uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - version: d0e719137f89ca3dd334dd4cc248ffbb - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - payment_unit: Year - primary: true - title: Account Director - state_wc_covered: null, - state_wc_class_code: null, - compensations: - - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - version: 994b75511d1debac5d7e2ddeae13679f - payment_unit: Year - flsa_status: Exempt - job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - effective_date: '2021-01-20' - rate: '78000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '78000.00' - hire_date: '2020-01-20' - Job-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Job" - examples: - Example: - value: - - uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - version: 6c0ed1521e8b86eb36bd4455a63a2dac - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - payment_unit: Year - primary: true - title: Client Support Director - state_wc_covered: null, - state_wc_class_code: null, - compensations: - - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - effective_date: '2021-01-20' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2020-01-20' - Employee-Federal-Tax-Object: - description: Example response - content: - application/json: + type: string + operationId: get-v1-terminations-employee_id + security: + - CompanyAccessAuth: [] + description: |- + Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update an employee termination + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Employee-Federal-Tax" - examples: - Example: - value: - version: 56a489ce86ed6c1b0f0cecc4050a0b01 - filing_status: Single - extra_withholding: '0.0' - two_jobs: true - dependents_amount: '0.0' - other_income: '0.0' - deductions: '0.0' - employee_id: 29 - w4_data_type: rev_2020_w4 - Location-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - "$ref": "#/components/schemas/Location" - examples: - Example: - value: - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - version: 7d9753112507b9dda4fb97910f39b06e - phone_number: '5825710808' - uuid: 04552eb9-7829-4b18-ae96-6983552948df - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - filing_address: false - mailing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - Location-List: - description: Example response - content: - application/json: + type: string + operationId: put-v1-terminations-employee_id + security: + - CompanyAccessAuth: [] + description: |- + Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + effective_date: + type: string + description: The employee's last day of work. + example: '2020-06-30' + run_termination_payroll: + type: boolean + description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + default: false + example: true + required: + - effective_date + example: + version: d487dd0b55dfcacdd920ccbdaeafa351 + effective_date: '2020-06-30' + run_termination_payroll: false + required: true + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: updateTermination + "/v1/companies/{company_uuid}/time_off/admin_approved_requests": + post: + summary: Create an admin-approved time off request + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Location" - examples: - Example: - value: - - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - version: 7d9753112507b9dda4fb97910f39b06e - phone_number: '5825710808' - uuid: 04552eb9-7829-4b18-ae96-6983552948df - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - filing_address: false - mailing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - version: 15e6b9680e00f3122729e64e3cef3224 - phone_number: '2866070827' - uuid: fa94a2fd-11a8-4024-87ff-85c587d9d2b4 - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: true - filing_address: false - mailing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - Contractor-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Contractor" - examples: - Example: - value: - - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Fixed - is_active: false - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department: Backup Dancer - department_uuid: 1802465d-4f68-4865-920c-1307ab095f12 - email: keira.west@mckenzie.org - start_date: '2022-01-01' - file_new_hire_report: false - work_state: - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 621 Jast Row - street_2: Apt. 281 - city: Coral Springs - state: FL - zip: '33065' - country: USA - hourly_rate: '0.00' - - uuid: 183a86f4-a803-4b38-9357-cd9b78e2560c - company_uuid: afdd5d98-581b-4fc0-b988-706b7d23b2a5 - wage_type: Fixed - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - start_date: '2022-01-01' - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 1625 Bednar Center - street_2: Apt. 480 - city: Port Charlotte - state: FL - zip: '33954' - country: USA - hourly_rate: '0.00' - file_new_hire_report: false - work_state: - - uuid: ea1c2d65-b622-4899-bcb7-5cd0fe0232aa - id: 7757515807623484 - company_uuid: 281c763d-a2ba-4f51-b9e8-b1ed61576d62 - company_id: 7757616923763477 - wage_type: Fixed - is_active: true - version: b48c46abfed1487b873b442334b3c4ff - type: Individual - first_name: Chanel - last_name: Boyle - middle_initial: X - business_name: - ein: - has_ein: false - has_ssn: true - email: loyal@hettinger.biz - file_new_hire_report: true - work_state: TX - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 35913 Darrick Run - street_2: Apt. 913 - city: Cypress - state: TX - zip: '77433' - country: USA - hourly_rate: '0.00' - Created-Contractor-Object: - description: Example response - content: - application/json: + type: string + operationId: post-v1-companies-company_uuid-time_off-admin_approved_requests + security: + - CompanyAccessAuth: [] + description: |- + Create a pre-approved time off request on behalf of an employee (admin or system initiated). + The request is always created with approved status. + + scope: `time_off_requests:manage` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee + policy_uuid: + type: string + description: The UUID of the time off policy + employer_note: + type: string + description: A note from the employer about the request + approver_uuid: + type: string + description: The UUID of the approving admin. Defaults to the primary payroll admin. + start_date: + type: string + description: The start date of the time off request (YYYY-MM-DD) + end_date: + type: string + description: The end date of the time off request (YYYY-MM-DD) + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"})' + required: + - employee_uuid + - policy_uuid + - start_date + - end_date + - days + required: true + "/v1/companies/{company_uuid}/time_off/balances": + get: + summary: Get time off balances for a company + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Contractor" - examples: - Individual Contractor: - value: - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Hourly - start_date: '2022-01-01' - is_active: false - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department_uuid: - email: keira.west@mckenzie.org - file_new_hire_report: true - work_state: FL - onboarded: true - onboarding_status: onboarding_completed - address: - hourly_rate: '60.00' - payment_method: - Business Contractor: - value: - uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c - company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f - wage_type: Fixed - start_date: '2022-01-01' - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - file_new_hire_report: false - work_state: - onboarded: false - onboarding_status: admin_onboarding_incomplete - address: - hourly_rate: '0.00' - payment_method: - Contractor-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - "$ref": "#/components/schemas/Contractor" - examples: - Individual Contractor: - value: - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Hourly - start_date: '2022-01-01' - is_active: false - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 - email: keira.west@mckenzie.org - file_new_hire_report: true - work_state: FL - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 621 Jast Row - street_2: Apt. 281 - city: Coral Springs - state: FL - zip: '33065' - country: USA - hourly_rate: '60.00' - payment_method: Direct Deposit - Business Contractor: - value: - uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c - company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f - wage_type: Fixed - start_date: '2022-01-01' - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - file_new_hire_report: false - work_state: - onboarded: false - onboarding_status: admin_onboarding_incomplete - address: - hourly_rate: '0.00' - payment_method: Direct Deposit - Contractor-Onboarding-Status-Object: - description: Example response. - content: - application/json: + type: string + - name: employee_uuids + in: query + required: false + description: Filter by employee UUIDs (comma-separated) schema: - "$ref": "#/components/schemas/Contractor-Onboarding-Status" - examples: - Example: - value: - uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - onboarding_status: admin_onboarding_incomplete - onboarding_steps: - - title: Basic details - id: basic_details - required: true - completed: false - requirements: [] - - title: Enter compensation details - id: compensation_details - required: true - completed: false - requirements: [] - - title: Add an address - id: add_address - required: true - completed: false - requirements: [] - - title: Payment details - id: payment_details - required: true - completed: false - requirements: [] - - title: Sign and acknowledge documents - id: sign_documents - required: false - completed: false - requirements: - - basic_details, - - add_address - - title: File new hire report - id: file_new_hire_report - required: false - completed: false - requirements: - - basic_details - Contractor-Payment-Object: - description: Example response - content: - application/json: + type: string + - name: policy_uuids + in: query + required: false + description: Filter by time off policy UUIDs (comma-separated) schema: - "$ref": "#/components/schemas/Contractor-Payment" - examples: - Example: - value: - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - status: Unfunded - hourly_rate: '18.0' - may_cancel: true - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - Contractor-Payment-Group-List: - description: List of Contractor Payment Groups - content: - application/json: + type: string + - name: page + in: query + required: false + description: The page that is requested schema: - type: array - items: - "$ref": "#/components/schemas/Contractor-Payment-Group-Minimal" - examples: - Example: - value: - - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-03-15' - debit_date: '2024-03-11' - status: Funded - creation_token: a51a3500-3200-43af-a738-169d4b66a9db - totals: - debit_amount: '740.00' - wage_amount: '720.00' - reimbursement_amount: '20.00' - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-05-02' - debit_date: '2024-04-26' - status: Unfunded - creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed - totals: - debit_amount: '2365.00' - wage_amount: '2270.00' - reimbursement_amount: '95.00' - Contractor-Payment-Group-Object: - description: Full contractor payment group object - content: - application/json: + type: integer + - name: per + in: query + required: false + description: Number of objects per page schema: - "$ref": "#/components/schemas/Contractor-Payment-Group" - examples: - Example: - value: - uuid: f693e034-d833-46e3-88d4-2c820c383c57 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-05-07' - debit_date: '2024-05-01' - status: Unfunded - creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed - contractor_payments: - - uuid: 630dc982-f498-4ebc-a6dc-4d76711027ce - contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 - bonus: '0.0' - hours: '40.0' - hourly_rate: '18.0' - may_cancel: false - payment_method: Direct Deposit - reimbursement: '75.0' - status: Unfunded - wage: '0.0' - wage_type: Hourly - wage_total: '720.0' - - uuid: 12f51eba-d653-4357-8c05-1f1f8d0fd5e3 - contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: false - payment_method: Check - reimbursement: '0.0' - status: Unfunded - wage: '1500.0' - wage_type: Fixed - wage_total: '1500.0' - totals: - amount: '2295.0' - debit_amount: '2295.0' - wage_amount: '2220.0' - reimbursement_amount: '75.0' - Contractor-Payment-Group-Null-Uuid-Object: - description: Full contractor payment group object with null uuid - content: - application/json: + type: integer + operationId: get-v1-companies-company_uuid-time_off-balances + security: + - CompanyAccessAuth: [] + description: |- + Get time off balances for all employees in a company + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Balance" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_uuid}/time_off/requests": + get: + summary: List time off requests for a company + parameters: + - name: X-Gusto-API-Version + in: header schema: - allOf: - - "$ref": "#/components/schemas/Contractor-Payment-Group" - - type: object - properties: - uuid: - type: - - string - - 'null' - examples: - Example: - value: - uuid: - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: '2024-05-07' - debit_date: '2024-05-01' - status: Unfunded - creation_token: nil - contractor_payments: - - uuid: nil - contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 - bonus: '0.0' - hours: '40.0' - hourly_rate: '18.0' - may_cancel: false - payment_method: Direct Deposit - reimbursement: '75.0' - status: Unfunded - wage: '0.0' - wage_type: Hourly - wage_total: '720.0' - - uuid: nil - contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: false - payment_method: Check - reimbursement: '0.0' - status: Unfunded - wage: '1500.0' - wage_type: Fixed - wage_total: '1500.0' - totals: - amount: '2295.0' - debit_amount: '2295.0' - wage_amount: '2220.0' - reimbursement_amount: '75.0' - Contractor-Payment-Method-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - "$ref": "#/components/schemas/Contractor-Payment-Method" - examples: - Example: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - hidden_account_number: XXXX0992 - priority: 1 - split_amount: 100 - Compensation-Object: - description: Example response - content: - application/json: + type: string + - name: employee_uuids + in: query + required: false + description: Filter by employee UUIDs. Comma-separated for multiple values. schema: - "$ref": "#/components/schemas/Compensation" - examples: - Exempt: - value: - uuid: db57832c-d8bc-43a7-ae99-0a04480ff037 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '60000.00' - payment_unit: Year - flsa_status: Exempt - effective_date: '2020-12-11' - adjust_for_minimum_wage: false - minimum_wages: [] - Minimum Wage Adjusted: - value: - uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a - version: cc59bd3879d655fb940a1f6b675f2ad9 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '5.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2018-12-11' - adjust_for_minimum_wage: true - minimum_wages: - - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 - wage: '7.25' - effective_date: '2018-12-11' - Compensation-List: - description: Example response - content: - application/json: + type: string + - name: status + in: query + required: false + description: Filter by request status. Comma-separated for multiple values (e.g. pending,approved,declined,consumed). schema: - type: array - items: - "$ref": "#/components/schemas/Compensation" - examples: - Example: - value: - - uuid: db57832c-d8bc-43a7-ae99-0a04480ff037 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '70.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2020-12-11' - adjust_for_minimum_wage: false - minimum_wages: [] - - id: 1363316536327003 - job_id: 1123581321345589 - uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a - version: cc59bd3879d655fb940a1f6b675f2ad9 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2018-12-11' - rate: '5.00' - adjust_for_minimum_wage: true - minimum_wages: - - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 - wage: '7.25' - effective_date: '2018-12-11' - Garnishment-Object: - description: Example response - content: - application/json: + type: string + - name: start_date + in: query + required: false + description: Filter requests that overlap with this start date schema: - "$ref": "#/components/schemas/Garnishment" - examples: - Example: - value: - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '8.00' - description: Company loan to employee - court_ordered: false - times: 5 - recurring: false - annual_maximum: - total_amount: - pay_period_maximum: '100.00' - deduct_as_percentage: true - garnishment_type: - child_support: - Child-Support-Example: - value: - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a - version: 52b7c567242cb7452e89ba2bc02cb383 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '40.00' - description: Child support - AZ28319 - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: '400.00' - deduct_as_percentage: true - garnishment_type: child_support - child_support: - state: AZ - payment_period: Monthly - case_number: AZ28319 - order_number: - remittance_number: - fips_code: '04000' - Garnishment-List: - description: Example response - content: - application/json: + type: string + - name: end_date + in: query + required: false + description: Filter requests that overlap with this end date schema: - type: array - items: - "$ref": "#/components/schemas/Garnishment" - examples: - Example: - value: - - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '8.00' - description: Company loan to employee - court_ordered: false - times: 5 - recurring: false - annual_maximum: - total_amount: - pay_period_maximum: '100.00' - deduct_as_percentage: true - garnishment_type: - child_support: - - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a - version: 52b7c567242cb7452e89ba2bc02cb383 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '40.00' - description: Child support - AZ28319 - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: '400.00' - deduct_as_percentage: true - garnishment_type: child_support - child_support: - state: AZ - payment_period: Monthly - case_number: AZ28319 - order_number: - remittance_number: - fips_code: '04000' - Child-Support-Data-Object: - description: Example response - content: - application/json: + type: string + - name: sort_order + in: query + required: false + description: Sort order by start_date (asc or desc, defaults to desc) schema: - "$ref": "#/components/schemas/Child-Support-Data" - examples: - Example: - value: - agencies: - - state: AK - name: Alaska Child Support Services Division - manual_payment_required: false - fips_codes: - - county: - code: '0200000' - required_attributes: - - key: case_number - label: CSE Case Number - - state: OH - name: Ohio Office of Child Support Enforcement - manual_payment_required: false - fips_codes: - - county: - code: '39000' - required_attributes: - - key: case_number - label: CSE Case Number - - key: order_number - label: Order Identifier - Employee-Onboarding-Documents-Object: - description: Example response - content: - application/json: + type: string + - name: page + in: query + required: false + description: The page that is requested schema: - "$ref": "#/components/schemas/Employee-Onboarding-Document" - examples: - Example: - value: - i9_document: true - I9-Authorization-Object: - description: Example response - content: - application/json: + type: integer + - name: per + in: query + required: false + description: Number of objects per page schema: - "$ref": "#/components/schemas/I9-Authorization" - examples: - Example: - value: - - version: 6ae7ff720107b356bf13b1606f60b24f - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - authorization_status: alien - document_type: foreign_passport - has_document_number: true - expiration_date: '2027-01-01' - country: Panama - employer_signed: false - employee_signed: false - additional_info: Notes - alt_procedure: false - I9-Authorization-Documents-Object: - description: Example response - content: - application/json: + type: integer + operationId: get-v1-companies-company_uuid-time_off-requests + security: + - CompanyAccessAuth: [] + description: |- + Get all time off requests for a company. Supports filtering by status, employee, and date ranges. + + Possible statuses: + - `pending` — awaiting approval + - `approved` — approved by an admin but not yet processed in a payroll + - `declined` — declined by an admin + - `consumed` — processed in a completed payroll + + Allowed values for `status`: pending, approved, declined, consumed. + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + post: + summary: Create a time off request + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/I9-Authorization-Document" - examples: - Example: - value: - - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - document_type: driver_license - issuing_authority: USA - expiration_date: '2027-01-01' - document_title: Driver's license - - uuid: 9p2337f9-9b78-44b9-aeed-be4777b833a8 - document_type: ssn_card - issuing_authority: USA - document_title: Social Security card - I9-Authorization-Document-Options-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: array - items: - "$ref": "#/components/schemas/I9-Authorization-Document-Option" - examples: - Example: - value: - - section: A - description: Foreign passport - document_type: foreign_passport_w_i94 - document_title: - - Foreign passport - common_choice: true - - section: B - description: Driver’s license or state-issued ID card - document_type: driver_license - document_title: - - Driver's license - - State ID card - common_choice: true - - section: C - description: Social Security card - document_type: ssn_card - document_title: - - Social Security card - common_choice: true - Termination-Object: - description: Example Response - content: - application/json: + type: string + operationId: post-v1-companies-company_uuid-time_off-requests + security: + - CompanyAccessAuth: [] + description: |- + Create a time off request for an employee + + scope: `time_off_requests:write` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee + policy_uuid: + type: string + description: The UUID of the time off policy + employee_note: + type: string + description: A note from the employee about the request + start_date: + type: string + description: The start date of the time off request (YYYY-MM-DD) + end_date: + type: string + description: The end date of the time off request (YYYY-MM-DD) + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"})' + required: + - employee_uuid + - policy_uuid + - start_date + - end_date + - days + required: true + "/v1/companies/{company_uuid}/time_off/requests/preview": + post: + summary: Preview a time off request + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Termination" - examples: - Example: - value: - uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - version: d487dd0b55dfcacdd920ccbdaeafa351 - active: true - cancelable: true - effective_date: '2020-03-10' - run_termination_payroll: false - Termination-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Termination" - examples: - Example: - value: - - uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - version: d487dd0b55dfcacdd920ccbdaeafa351 - active: true - cancelable: true - effective_date: '2020-03-10' - run_termination_payroll: false - Pay-Period-List: - description: Example response - content: - application/json: + type: string + operationId: post-v1-companies-company_uuid-time_off-requests-preview + security: + - CompanyAccessAuth: [] + description: |- + Preview a time off request to see balance impact before creating + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request-Preview" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + request_uuid: + type: string + description: The UUID of an existing time off request to preview changes for + employee_uuid: + type: string + description: The UUID of the employee + policy_uuid: + type: string + description: The UUID of the time off policy + start_date: + type: string + description: The start date of the time off request (YYYY-MM-DD) + end_date: + type: string + description: The end date of the time off request (YYYY-MM-DD) + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"})' + required: + - employee_uuid + - policy_uuid + - start_date + - end_date + - days + required: true + "/v1/time_off/requests/{time_off_request_uuid}": + get: + summary: Get a time off request + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true + schema: + type: string + operationId: get-v1-time_off-requests-time_off_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a single time off request by UUID + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + delete: + summary: Delete a time off request + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Pay-Period" - examples: - Example: - value: - - start_date: '2020-01-11' - end_date: '2020-01-24' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll: - payroll_uuid: bfd8aad4-9c3f-4ca3-b072-a1b2b3ea689f - check_date: '2020-01-30' - processed: true - payroll_deadline: '2020-01-28' - payroll_type: regular - - start_date: '2020-12-12' - end_date: '2020-12-25' - pay_schedule_uuid: cb53db72-612f-4eb1-9b85-389e79cfa510 - payroll: - payroll_uuid: 7ed29b45-4bb1-4d38-bd94-4d607d49fd21 - check_date: '2020-12-30' - processed: true - payroll_deadline: '2020-12-28' - payroll_type: regular - Pay-Schedule-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true schema: - "$ref": "#/components/schemas/Pay-Schedule-Show" - examples: - Example: - value: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - custom_name: A new monthly pay schedule - auto_pilot: false - active: true - Pay-Schedule-Create-Update-Object: - description: Example response - content: - application/json: + type: string + operationId: delete-v1-time_off-requests-time_off_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Delete a time off request + + scope: `time_off_requests:write` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/time_off/requests/{time_off_request_uuid}/approve": + put: + summary: Approve a time off request + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Pay-Schedule-Create-Update" - examples: - Example: - value: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - custom_name: A new monthly pay schedule - auto_pilot: false - active: true - Pay-Schedule-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true schema: - "$ref": "#/components/schemas/Pay-Schedule-Show-Response" - examples: - Example: - value: - - uuid: 2097fe08-407a-46d7-b35c-a32402a2355e - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - custom_name: Engineering department pay schedule - auto_pilot: false - active: true - - uuid: 8fc9f556-74fa-4271-97f6-4bfbfc5a5352 - version: 68934a3e9455fa72420237eb05902320 - frequency: Monthly - anchor_pay_date: '2020-05-31' - day_1: 31 - day_2: - name: Sales - custom_name: Sales department monthly schedule - auto_pilot: false - active: false - - uuid: 0e07d35a-af11-4123-bfcb-4dd5f2f12ee1 - version: 68934a3e9455fa72420237eb05902323 - frequency: Monthly - anchor_pay_date: '2020-05-31' - day_1: 31 - day_2: - name: Staff - custom_name: Staff department pay schedule - auto_pilot: true - active: false - Benefit-Type-Requirements-Object: - description: Benefit type requirements response - content: - application/json: + type: string + operationId: put-v1-time_off-requests-time_off_request_uuid-approve + security: + - CompanyAccessAuth: [] + description: |- + Approve a pending time off request. Optionally override the dates and hours. + + Only requests with a `pending` status can be approved. Attempting to approve a request that has already been `declined` or `consumed` will fail with a 422 error. + + scope: `time_off_requests:manage` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + approver_uuid: + type: string + description: The UUID of the admin approving the request. Defaults to the company's primary payroll admin. + employer_note: + type: string + description: A note from the employer about the approval + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"}). Use this to override the requested hours.' + "/v1/time_off/requests/{time_off_request_uuid}/decline": + put: + summary: Decline a time off request + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Benefit-Type-Requirements" - examples: - Example: - value: - employee_deduction: - required: true - editable: true - default_value: - choices: - contribution: - required: true - editable: true - default_value: - type: percentage - value: 2 - choices: - - percentage - deduct_as_percentage: - required: true - editable: true - default_value: - choices: - catch_up: - required: true - editable: true - default_value: - choices: - limit_option: - required: false - editable: false - default_value: - choices: - company_contribution_annual_maximum: - required: false - editable: false - default_value: - choices: - coverage_salary_multiplier: - required: false - editable: false - default_value: - choices: - coverage_amount: - required: false - editable: false - default_value: - choices: - Supported-Benefit-Object: - description: Supported benefit response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true schema: - "$ref": "#/components/schemas/Supported-Benefit" - examples: - Example: - value: - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - Supported-Benefit-List: - description: Example response - content: - application/json: + type: string + operationId: put-v1-time_off-requests-time_off_request_uuid-decline + security: + - CompanyAccessAuth: [] + description: |- + Decline a pending or approved time off request. Requires an employer_note. + + scope: `time_off_requests:manage` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employer_note: + type: string + description: Note explaining why the request was declined + approver_uuid: + type: string + description: The UUID of the admin declining the request. Defaults to the company's primary payroll admin. + required: + - employer_note + required: true + "/v1/companies/{company_uuid}/time_off_policies": + get: + summary: Get all time off policies for a company + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Supported-Benefit" - examples: - Supported Benefits: - value: - - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - - benefit_type: 2 - name: Dental Insurance - description: Deductions and contributions for Dental Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - - benefit_type: 3 - name: Vision Insurance - description: Deductions and contributions for Vision Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - - benefit_type: 6 - name: Health Savings Account - description: Health Savings Accounts (HSA) allow employees to be reimbursed for qualified medical expenses. Contributions are pre-tax and lower the total amount of tax paid by employees and the employer. Employers may also make tax-free contributions to employees' HSA. Remaining balances are carried over in next year. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: true - category: Health - - benefit_type: 7 - name: Health FSA - description: Flexible Spending Accounts (FSA) allow employees to be reimbursed for qualified medical expenses. Contributions are pre-tax and lower the total amount of tax paid by employees and the employer. Employers may also make tax-free contributions to employees' FSA. Remaining balances are not carried over in next year. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: true - category: Health - - benefit_type: 11 - name: Dependent Care FSA - description: Dependent Care FSA reimburses employees for expenses to care for dependents while the employee is at work (e.g. Daycares). Contributions are pre-tax and lower the total amount of tax paid by employees and the employer. Employers may also make tax-free contributions to employee FSA. Remaining balances are not carried over to the next year. Single parents or Married couples filing a joint return can elect up to $5000 per year. Married couples filing separate returns are limited to $2500 elections each. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: true - category: Health - - benefit_type: 8 - name: SIMPLE IRA - description: The SIMPLE IRA is a tax-deferred retirement savings plan for employees. It is often used by small businesses as an alternative to 401(k) due to its relatively low operating cost. Employers are required to contribute a specific percentage to an employee's SIMPLE IRA. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 105 - name: Roth 401(k) - description: Roth 401(k) is an after-tax savings plan for employees. The standard maximum is $18,000, or $24,000 for employees over 50 years old. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 110 - name: Roth 403(b) - description: Roth 403(b) is an after-tax savings plan for certain clerics, employees of public schools, and employees of other types of tax-exempt organizations. Contributions made by employees are taxable for federal and state withholding. Often, employers contribute additional pre-tax dollars to the employee’s Roth account to encourage saving for retirement. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 5 - name: 401(k) - description: 401(k) is tax-deferred retirement savings plan for employees. The standard maximum is $18,000, or $24,000 for employees over 50 years old. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 9 - name: 403(b) - description: 403(b) is tax-deferred retirement savings plan for certain clerics, employees of public schools, and employees of other types of tax-exempt organizations. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 108 - name: SEP-IRA - description: A SEP-IRA is a pre-tax retirement savings plan where only the employer contributes. It is often used by small businesses as an alternative to 401(k) due to its relatively low operating cost. Employers are required to contribute the same percentage to all enrolled employees, with a maximum contribution of 25% of the employee’s compensation. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 109 - name: SARSEP - description: A SARSEP is a pre-tax retirement savings plan used by small businesses as an alternative to 401(k) due to its relatively low operating cost. While new SARSEP plans are not available, there are still some companies that are grandfathered into the plan. Employers are required to contribute the same percentage to all enrolled employees, with a maximum contribution of 25% of the employee’s compensation. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 107 - name: Group-Term Life Insurance - description: Group-Term Life Insurance for coverage in excess of $50,000 per employee is a taxable fringe benefit. See IRS Publication 15-B to determine the dollar value of the excess coverage. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 10 - name: Commuter Benefits (pre-tax) - description: Tax-free commuter benefits for transit, vanpooling, bicycling, and work-related parking costs. The annual maximum contribution for this pre-tax benefit is in the IRS publication 15-B. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 106 - name: Personal Use of Company Car - description: When an employee uses a company-owned car for personal matters, it is considered taxable benefit provided in-kind. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 111 - name: 529 College Savings - description: 529 College Savings is an after-tax savings plan for employees designed to encourage saving for future college costs. This benefit should be reported as a taxable benefit and will therefore be taxed. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Other - - benefit_type: 112 - name: Student Loan Repayment - description: Student Loan Repayment is an after-tax savings plan for employees to pay towards their outstanding student loans. An employee can choose to set aside after-tax dollars towards this benefit. These benefits should be reported as a taxable benefit and will therefore be taxed. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Other - - benefit_type: 998 - name: Short Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 999 - name: Long Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 996 - name: Short Term Disability (pre-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 997 - name: Long Term Disability (pre-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 991 - name: Voluntary Short Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 992 - name: Voluntary Long Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 993 - name: Voluntary Life (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 113 - name: Commuter Parking - description: Tax-free commuter benefits allow employees to reduce their monthly commuting expenses for transit, carpooling, bicycling, and work-related parking costs. Please note that there is an annual maximum for this pre-tax benefit. The maximum dollar amount is found in IRS Publication 15-B. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 114 - name: Commuter Transit - description: Tax-free commuter benefits allow employees to reduce their monthly commuting expenses for transit, carpooling, bicycling, and work-related parking costs. Please note that there is an annual maximum for this pre-tax benefit. The maximum dollar amount is found in IRS Publication 15-B. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 100 - name: Other (taxable) - description: Other taxable benefit - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Other - - benefit_type: 201 - name: Cell Phone (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 202 - name: Gym & Fitness (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 203 - name: Housing (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 204 - name: Wellness (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - Admin-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - "$ref": "#/components/schemas/Admin" - examples: - Example: - value: - first_name: John - last_name: Smith - email: jsmith99@gmail.com - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - Admin-List: - description: Example response - content: - application/json: + type: string + operationId: get-v1-companies-company_uuid-time_off_policies + security: + - CompanyAccessAuth: [] + description: |- + Get all time off policies for a company + + scope: `time_off_policies:read` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Time-Off-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: getAll + post: + summary: Create a time off policy + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Admin" - examples: - Example: - value: - - first_name: Katherine - last_name: Johnson - email: Katherine@acmecorp.com - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - - first_name: Anita - last_name: Borg - email: Anita@acmecorp.com - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - Company-Benefit-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - "$ref": "#/components/schemas/Company-Benefit" - examples: - Example: - value: - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - company_uuid: 881ce3f2-e3e1-49c9-8ad4-0bcf515f5618 - benefit_type: 1 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - catch_up_type: elective - Company-Benefit-List: - description: Example response - content: - application/json: + type: string + operationId: post-v1-companies-company_uuid-time_off_policies + security: + - CompanyAccessAuth: [] + description: |- + Create a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Policy name required + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy-Request" + required: true + x-speakeasy-name-override: create + x-speakeasy-group: timeOffPolicies + "/v1/time_off_policies/{time_off_policy_uuid}": + get: + summary: Get a time off policy + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Company-Benefit" - examples: - Example: - value: - - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - company_uuid: 528cc543-8a41-497e-b479-23a4c5ec77ac - benefit_type: 1 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - catch_up_type: elective - description: OK - Company-Custom-Field-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true schema: - type: object - properties: - custom_fields: - type: array - items: - "$ref": "#/components/schemas/Company-Custom-Field" - examples: - Example: - value: - custom_fields: - - uuid: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - selection_options: - - uuid: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - selection_options: - - uuid: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - selection_options: - - apple - - banana - - orange - Earning-Type-List: - description: Example response - content: - application/json: + type: string + operationId: get-v1-time_off_policies-time_off_policy_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a time off policy + + scope: `time_off_policies:read` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: get + put: + summary: Update a time off policy + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: object - properties: - default: - type: array - description: The default earning types for the company. - items: - "$ref": "#/components/schemas/Earning-Type" - custom: - type: array - description: The custom earning types for the company. - items: - "$ref": "#/components/schemas/Earning-Type" - examples: - Example: - value: - default: - - name: Bonus - uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 - active: true - - name: Cash Tips - uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - active: true - - name: Commission - uuid: 60191999-004a-49d9-b163-630574433653 - active: true - - name: Correction Payment - uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 - active: true - - name: Minimum Wage Adjustment - uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 - active: true - - name: Paycheck Tips - uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf - active: true - - name: Severance - uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 - active: true - custom: - - name: Gym Membership Stipend - uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 - active: true - Earning-Type-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true schema: - "$ref": "#/components/schemas/Earning-Type" - examples: - Example: - value: - name: Gym Membership Stipend - uuid: f4dc8972-8830-4c07-b623-349a04b040d7 - active: true - Employee-Benefit-Object: - description: Example response - content: - application/json: + type: string + operationId: put-v1-time_off_policies-time_off_policy_uuid + security: + - CompanyAccessAuth: [] + description: |- + Update a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Unlimited Policy updated with accrual rate + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Time-Off-Policy-Update-Request" + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: update + "/v1/time_off_policies/{time_off_policy_uuid}/deactivate": + put: + summary: Deactivate a time off policy + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Employee-Benefit" - examples: - Example: - value: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 908123091820398 - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - deduct_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - contribution: - type: amount - value: '100.00' - Tiered example: - value: - version: string - employee_uuid: 8f9f3f68-8fd3-499d-ade7-4a052e56494e - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '0.00' - deduct_as_percentage: false - employee_deduction_annual_maximum: string - contribution: - type: tiered - value: - tiers: - - rate: '5.0' - threshold: '2.0' - threshold_delta: '2.0' - - rate: '3.0' - threshold: '5.0' - threshold_delta: '3.0' - elective: false - company_contribution_annual_maximum: string - limit_option: string - catch_up: false - coverage_amount: string - deduction_reduces_taxable_income: unset - coverage_salary_multiplier: '0.00' - Employee-Benefit-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Benefit" - examples: - Example: - value: - - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 8f9f3f68-8fd3-499d-ade7-4a052e56494e - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - company_contribution: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - deduct_as_percentage: false - contribute_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - Contribution-Exclusion-List: - description: Example response - content: - application/json: + type: string + operationId: put-v1-time_off_policies-time_off_policy_uuid-deactivate + security: + - CompanyAccessAuth: [] + description: |- + Deactivate a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Policy has pending time off requests + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: deactivate + "/v1/time_off_policies/{time_off_policy_uuid}/add_employees": + put: + summary: Add employees to a time off policy + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Contribution-Exclusion" - examples: - Example: - value: - - contribution_uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 - contribution_type: Bonus - excluded: false - - contribution_uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - contribution_type: Cash Tips - excluded: false - - contribution_uuid: 60191999-004a-49d9-b163-630574433653 - contribution_type: Commission - excluded: false - - contribution_uuid: 75a7a827-1f2d-4d6f-94f2-514c1fc32b13 - contribution_type: Regular - excluded: false - - contribution_uuid: eead3c7c-7964-4e3c-b609-670456127b09 - contribution_type: Life insurance imputed benefit - excluded: true - Payroll-Update-Object: - description: A prepared payroll - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + operationId: put-v1-time_off_policies-time_off_policy_uuid-add_employees + security: + - CompanyAccessAuth: [] + description: |- + 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` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Add employees with no employees + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employees + properties: + employees: + type: array + items: + type: object + required: + - uuid + properties: + uuid: + type: string + description: The UUID of the employee + balance: + type: + - string + - 'null' + description: The starting balance for the employee + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: addEmployees + "/v1/time_off_policies/{time_off_policy_uuid}/remove_employees": + put: + summary: Remove employees from a time off policy + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Payroll-Prepared" - examples: - Example: - value: - payroll_deadline: '2022-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - off_cycle_reason: - external: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll_status_meta: - cancellable: false - expected_check_date: '2022-02-22' - initial_check_date: '2022-02-22' - expected_debit_time: '2022-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2022-02-18T22:00:00Z' - processing_request: - employee_compensations: - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7067 - version: 4ba36d23a78c7393b4900ef38019d8ff - first_name: Patricia - preferred_first_name: Patricia - last_name: Hamil - excluded: false - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242ba5 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909ba - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '15.000' - job_uuid: 9d3760f0-d1f9-4700-8817-0fe2dce5cf23 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: b5eef9a9-4a87-4649-a80d-14878c05f44e - compensation_multiplier: 2 - flsa_status: Nonexempt - - name: Regular Hours - hours: '40.000' - job_uuid: 332bd171-9efc-432b-abbb-a75c9dba706a - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '5.000' - job_uuid: ca9b3dc1-57ac-4736-901a-9b1c9634b9d5 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: 1bad01e2-140c-49ed-9542-2388ce4a19b3 - compensation_multiplier: 2 - flsa_status: Nonexempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7012 - version: ff083257a5583291fb86656ad0df1b42 - first_name: Soren - preferred_first_name: Soren - last_name: Keck - excluded: false - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242b34 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e90955 - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Commission Only Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7781 - version: 259816479e3729bf855318af9b9adddf - first_name: Patty - preferred_first_name: Patty - last_name: Tam - excluded: false - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242bab - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909cd - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - fixed_compensation_types: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Anniversary Bonus - - name: Internet Stipend - - name: Reimbursement - Off-Cycle-Payroll-Object: - description: An off-cycle payroll - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true schema: - "$ref": "#/components/schemas/Payroll-Prepared" - examples: - Example: - value: - version: 19289df18e6e20f797de4a585ea5a91535c7ddf7 - payroll_deadline: '2022-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: true - off_cycle_reason: Bonus - external: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - withholding_pay_period: Every other week - skip_regular_deductions: true - fixed_withholding_rate: true - final_termination_payroll: false - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll_status_meta: - cancellable: false - expected_check_date: '2022-02-22' - initial_check_date: '2022-02-22' - expected_debit_time: '2022-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2022-02-18T22:00:00Z' - processing_request: - employee_compensations: - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7067 - first_name: John - preferred_first_name: John - last_name: Doe - excluded: false - payment_method: Direct Deposit - fixed_compensations: [] - memo: - hourly_compensations: - - name: Regular Hours - hours: '0.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '0.000' - job_uuid: 9d3760f0-d1f9-4700-8817-0fe2dce5cf23 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: b5eef9a9-4a87-4649-a80d-14878c05f44e - compensation_multiplier: 2 - flsa_status: Nonexempt - - name: Regular Hours - hours: '0.000' - job_uuid: 332bd171-9efc-432b-abbb-a75c9dba706a - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '0.000' - job_uuid: ca9b3dc1-57ac-4736-901a-9b1c9634b9d5 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: 1bad01e2-140c-49ed-9542-2388ce4a19b3 - compensation_multiplier: 2 - flsa_status: Nonexempt - paid_time_off: [] - Payroll-Show-Object: - description: Example response - content: - application/json: + type: string + operationId: put-v1-time_off_policies-time_off_policy_uuid-remove_employees + security: + - CompanyAccessAuth: [] + description: |- + Remove employees from a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Remove employees with no employees + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employees + properties: + employees: + type: array + items: + type: object + required: + - uuid + properties: + uuid: + type: string + description: The UUID of the employee + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: removeEmployees + "/v1/time_off_policies/{time_off_policy_uuid}/balance": + put: + summary: Update employee time off balances + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Payroll" - examples: - Unprocessed: - value: - payroll_deadline: '2021-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - external: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll_status_meta: - cancellable: false - expected_check_date: '2021-02-22' - initial_check_date: '2021-02-22' - expected_debit_time: '2021-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2021-02-18T22:00:00Z' - submission_blockers: - - blocker_type: fast_ach_threshold_exceeded - blocker_name: Fast ACH Threshold Exceeded - unblock_options: - - unblock_type: wire_in - check_date: '2024-06-10' - metadata: - wire_in_deadline: '2024-06-19T18:00:00Z' - wire_in_amount: 400000.0 - - unblock_type: move_to_four_day - check_date: '2024-06-12' - metadata: {} - selected_option: - status: unresolved - processing_request: - Processed: - value: - payroll_deadline: '2021-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - external: false - auto_pilot: true - processed: true - processed_date: '2021-02-18' - calculated_at: '2021-02-18T12:00:00Z' - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - totals: - company_debit: '121747.71' - net_pay_debit: '79283.80' - tax_debit: '42463.91' - reimbursement_debit: '0.00' - child_support_debit: '0.00' - reimbursements: '0.00' - net_pay: '81752.94' - gross_pay: '130635.89' - employee_bonuses: '0.00' - employee_commissions: '18536.37' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - check_amount: '2469.14' - employer_taxes: '6917.19' - employee_taxes: '35546.72' - benefits: '0.00' - employee_benefits_deductions: '13336.23' - imputed_pay: '0.00' - deferred_payroll_taxes: '0.00' - other_deductions: '240.00' - company_taxes: - - name: MO Compensation Deduction - amount: "-0.92" - employer: true - - name: NY MCTMT - amount: '5.00' - employer: true - payroll_taxes: - - name: Federal Income Tax - employer: false - amount: 3546.72 - - name: Social Security - employer: true - amount: 786.0 - - name: Social Security - employer: false - amount: 786.0 - - name: CA State Income Tax - employer: false - amount: 132.51 - payroll_status_meta: - cancellable: false - expected_check_date: '2021-02-22' - initial_check_date: '2021-02-22' - expected_debit_time: '2021-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2021-02-18T22:00:00Z' - employee_compensations: - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7067 - excluded: false - gross_pay: '2791.25' - net_pay: '1953.31' - check_amount: '1953.31' - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242ba5 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909ba - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '15.000' - job_uuid: 9d3760f0-d1f9-4700-8817-0fe2dce5cf23 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: b5eef9a9-4a87-4649-a80d-14878c05f44e - compensation_multiplier: 2 - flsa_status: Nonexempt - - name: Regular Hours - hours: '40.000' - job_uuid: 332bd171-9efc-432b-abbb-a75c9dba706a - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '5.000' - job_uuid: ca9b3dc1-57ac-4736-901a-9b1c9634b9d5 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: 1bad01e2-140c-49ed-9542-2388ce4a19b3 - compensation_multiplier: 2 - flsa_status: Nonexempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - benefits: - - name: Group Term Life - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: true - - name: 401K - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: false - deductions: - - name: Child Support - amount: '80.00' - taxes: - - name: Federal Income Tax - employer: false - amount: '646.69' - - name: Social Security - employer: true - amount: '191.25' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7012 - excluded: false - gross_pay: '2791.25' - net_pay: '1953.31' - check_amount: '1953.31' - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242b34 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e90955 - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Commission Only Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - benefits: - - name: Group Term Life - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: true - - name: 401K - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: false - deductions: - - name: Child Support - amount: '80.00' - taxes: - - name: Federal Income Tax - employer: false - amount: '646.69' - - name: Social Security - employer: true - amount: '191.25' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7781 - excluded: false - gross_pay: '2791.25' - net_pay: '1953.31' - check_amount: '1953.31' - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242bab - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909cd - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - benefits: - - name: Group Term Life - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: true - - name: 401K - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: false - deductions: - - name: Child Support - amount: '80.00' - taxes: - - name: Federal Income Tax - employer: false - amount: 646.69 - - name: Social Security - employer: true - amount: 191.25 - credit_blockers: - - blocker_type: waiting_for_wire_in - blocker_name: Waiting for Wire In - unblock_options: - - unblock_type: submit_wire - check_date: '2024-06-10' - metadata: - wire_in_deadline: '2024-06-19T18:00:00Z' - wire_in_amount: 400000.0 - wire_in_request_uuid: 187412e1-3dbe-491a-bb2f-2f40323a421a - selected_option: submit_wire - status: unresolved - processing_request: - status: submit_success - errors: [] - Payroll-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Payroll-Minimal" - examples: - Example: - value: - - payroll_deadline: '2021-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - external: false - processed: true - processed_date: '2021-02-18' - calculated_at: '2021-02-18T12:00:00Z' - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2021-02-01T22:00:00Z' - reversal_payroll_uuids: [] - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - totals: - company_debit: '121747.71' - net_pay_debit: '79283.80' - tax_debit: '42463.91' - reimbursement_debit: '0.00' - child_support_debit: '0.00' - reimbursements: '0.00' - net_pay: '81752.94' - gross_pay: '130635.89' - employee_bonuses: '0.00' - employee_commissions: '18536.37' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - check_amount: '2469.14' - employer_taxes: '6917.19' - employee_taxes: '35546.72' - benefits: '0.00' - employee_benefits_deductions: '13336.23' - imputed_pay: '0.00' - deferred_payroll_taxes: '0.00' - other_deductions: '240.00' - - payroll_deadline: '2021-02-28' - check_date: '2021-03-01' - off_cycle: false - external: false - processed: false - processed_date: nil - calculated_at: nil - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-16' - end_date: '2021-03-01' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - Payment-Configs-Object: - description: Example response - content: - application/json: + type: string + operationId: put-v1-time_off_policies-time_off_policy_uuid-balance + security: + - CompanyAccessAuth: [] + description: |- + Updates time off hours balances for employees for a time off policy. + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Unlimited policy balance update + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employees + properties: + employees: + type: array + items: + type: object + required: + - uuid + - balance + properties: + uuid: + type: string + description: The UUID of the employee + balance: + type: string + description: The new balance for the employee + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: updateBalance + "/oauth/token": + post: + summary: Create a System Access Token or Refresh an Access Token + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Payment-Configs" - examples: - Example: - value: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 - fast_payment_limit: '5000' - payment_speed: 2-day - earned_fast_ach_blockers: - - blocker_type: minimum_days - threshold: 15 - - blocker_type: minimum_funded_payments - threshold: 1 - Company-Bank-Account-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: oauth-access-token + security: [] + description: Creates a system access token or refreshes an oauth access token + tags: + - Introspection + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Authentication" + requestBody: + content: + application/json: + schema: + oneOf: + - type: object + title: Refresh Token Request + required: + - client_id + - client_secret + - grant_type + - refresh_token + properties: + client_id: + type: string + description: Your client ID + example: qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8 + client_secret: + type: string + description: Your client secret + example: 3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w + grant_type: + type: string + enum: + - refresh_token + description: Set system_access to create a system access token, refresh_token to refresh an existing token + refresh_token: + type: string + descrition: The refresh token being exchanged for an access token code + example: iEjL96L9Pndwmi-xVX3Q-xbrvvhnjHYGX87sopgGJ8E + redirect_uri: + type: string + description: The redirect URI you set up via the Developer Portal + - type: object + title: System Access Token Request + required: + - client_id + - client_secret + - grant_type + properties: + client_id: + type: string + description: Your client ID + example: qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8 + client_secret: + type: string + description: Your client secret + example: 3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w + grant_type: + type: string + description: Set system_access to create a system access token, refresh_token to refresh an existing token + enum: + - system_access + required: true + "/v1/token_info": + get: + summary: Get info about the current access token + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Company-Bank-Account" - examples: - Example: - value: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: bank_deposits - name: Employer Funding Account - Company-Bank-Account-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: get-v1-token-info + security: + - CompanyAccessAuth: [] + description: |- + Returns scope and resource information associated with the current access token. Use this endpoint to verify the following for the current access token: + * Resource (company, employee, contractor, or application) and resource owner + * Access level + tags: + - Introspection + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Token-Info" + x-speakeasy-name-override: getInfo + "/v1/webhook_subscriptions": + get: + summary: List webhook subscriptions + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Company-Bank-Account" - examples: - Example: - value: - - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: bank_deposits - name: Employer Funding Account - Employee-Bank-Account-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: get-v1-webhook-subscriptions + security: + - SystemAccessAuth: [] + description: "Returns all webhook subscriptions associated with the provided Partner API token.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Webhook-Subscription" + x-speakeasy-name-override: listSubscriptions + post: + summary: Create a webhook subscription + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Employee-Bank-Account" - examples: - Example: - value: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Employee-Bank-Account-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-webhook-subscription + security: + - SystemAccessAuth: [] + description: "Create a webhook subscription to receive events of the specified subscription_types whenever there is a state change.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - url + - subscription_types + properties: + url: + type: string + description: The URL where webhook events will be POSTed. + subscription_types: + type: array + description: The types of events to subscribe to. + items: + type: string + enum: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - PeopleBatch + - Signatory + - TimeOffRequest + required: true + x-speakeasy-name-override: createSubscription + "/v1/webhook_subscriptions/{webhook_subscription_uuid}": + get: + summary: Get a webhook subscription + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Bank-Account" - examples: - Example: - value: - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Employee-Payment-Method-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true schema: - "$ref": "#/components/schemas/Employee-Payment-Method" - examples: - Example: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Amount - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 500 - - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a - name: Chase Checking Account - priority: 2 - split_amount: 1000 - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - name: US Bank Checking Account - priority: 3 - split_amount: - Federal-Tax-Details-Object: - description: Example response - content: - application/json: + type: string + operationId: get-v1-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "Returns the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getSubscription + put: + summary: Update a webhook subscription + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Federal-Tax-Details" - examples: - Example: - value: - version: 5521489cc7c93732300805dcf87a5fd3 - tax_payer_type: S-Corporation - taxable_as_scorp: true - filing_form: '941' - has_ein: true - ein_verified: true - ein_verification: - status: verified - legal_name: Company Name LLC - effective_date: '2024-01-01' - deposit_schedule: Semiweekly - Employee-State-Taxes-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax" - examples: - Employee-State-Taxes-List-Example: - value: - employee_uuid: 92fa4d30-e284-43d0-a26e-605619c04beb - file_new_hire_report: false - is_work_state: true - state: CA - questions: - - label: Filing Status - description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + type: string + operationId: put-v1-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "Updates the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '404': + description: | + Not Found -' - key: filing_status - input_question_format: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of household - - value: E - label: Do Not Withhold - answers: - - value: S - valid_from: '2010-01-01' - valid_up_to: - - label: Withholding Allowance - description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity -' - key: withholding_allowance - input_question_format: - type: Number - answers: - - value: 1 - valid_from: '2010-01-01' - valid_up_to: - - label: Additional Withholding - description: You can withhold an additional amount of California income taxes here. - key: additional_withholding - input_question_format: - type: Currency - answers: - - value: '0.0' - valid_from: '2010-01-01' - valid_up_to: - - label: File a New Hire Report? - description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. - key: file_new_hire_report - input_question_format: - type: Select - answers: - - value: true - valid_from: '2010-01-01' - valid_up_to: - Employee-Onboarding-Status-Object: - description: Example response. - content: - application/json: + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - subscription_types + properties: + subscription_types: + type: array + description: The types of events to subscribe to. + items: + type: string + enum: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - PeopleBatch + - Signatory + - TimeOffRequest + required: true + x-speakeasy-name-override: updateSubscription + delete: + summary: Delete a webhook subscription + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Employee-Onboarding-Status" - examples: - Example: - value: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_status: admin_onboarding_incomplete - onboarding_steps: - - title: Personal details - id: personal_details - required: true - completed: false - requirements: [] - - title: Enter compensation details - id: compensation_details - required: true - completed: false - requirements: [] - - title: Add work address - id: add_work_address - required: true - completed: false - requirements: [] - - title: Add home address - id: add_home_address - required: true - completed: false - requirements: [] - - title: Enter federal tax withholdings - id: federal_tax_setup - required: true - completed: false - requirements: [] - - title: Enter state tax information - id: state_tax_setup - required: true - completed: false - requirements: - - add_work_address - - add_home_address - - title: Direct deposit setup - id: direct_deposit_setup - required: false - completed: false - requirements: [] - - title: Employee form signing - id: employee_form_signing - required: true - completed: false - requirements: - - federal_tax_setup - - state_tax_setup - Payroll-Blocker-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Payroll-Blocker" - examples: - Payroll Blockers: - value: - - key: eftps_in_error - message: We could not make payments to the Electronic Federal Tax Payment System. - - key: geocode_error - message: Company or employee address could not be verified. Please ensure all addresses are valid. - - key: geocode_needed - message: Company or employee address verification is missing. Please ensure all addresses are entered correctly. - - key: pay_schedule_setup_not_complete - message: Some employees don’t have a pay schedule set up yet. Please complete this step to run payroll. - - key: invalid_signatory - message: A signatory who is authorized to sign documents on behalf of your company is required. Please ensure their identity verification is successful. - - key: suspended - message: Company is suspended and cannot run payroll. - - key: soft_suspended - message: Company is placed in a 'soft' suspension state and requires missing/incorrect information to be corrected. - - key: pending_payroll_review - message: Payroll is blocked. We are reviewing payroll information in your account. Please contact support if you believe this is an error. - - key: pending_recovery_case - message: Payroll is blocked due to an open recovery case. Please contact support if you believe this is an error. - - key: pending_information_request - message: Payroll is blocked due to an open information request. Please contact support if you believe this is an error. - - key: needs_approval - message: Company needs to be approved to run payroll. - - key: missing_addresses - message: Company must add addresses in order to run payroll. - - key: missing_federal_tax_setup - message: Company must complete federal tax setup in order to run payroll. - - key: missing_industry_selection - message: Company must complete industry selection in order to run payroll. - - key: missing_bank_info - message: Company must have a bank account in order to run payroll. - - key: missing_employee_setup - message: Company must add employees in order to run payroll. - - key: missing_state_tax_setup - message: Company must complete state tax setup in order to run payroll. - - key: missing_pay_schedule - message: Company must have a pay schedule in order to run payroll. - - key: missing_forms - message: Company forms must be signed in order to run payroll. - - key: missing_bank_verification - message: Company bank account must be verified in order to run payroll. - - key: missing_signatory - message: Company must have a verified signatory in order to run payroll. - Generated-Document: - description: Example response - content: - application/json: + type: string + operationId: delete-v1-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "Deletes the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: deleteSubscription + "/v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token": + get: + summary: Request a verification token for a webhook subscription + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Generated-Document" - examples: - Example: - value: - document_urls: - - https://document.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: succeeded - General-Ledger-Report: - description: Successful response for general ledger report generation - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true schema: - type: object - properties: - payroll_uuid: - type: string - format: uuid - description: The UUID of the payroll record for which the report was generated - aggregation: - type: string - enum: - - default - - job - - department - - integration - description: The breakdown level used for the report - integration_type: - type: - - string - - 'null' - enum: - - xero - - qbo - description: The `integration_type` used for the report, if `aggregation` was 'integration.' Otherwise, this will be null. - request_uuid: - type: string - format: uuid - description: UUID to use for polling the report status - examples: - Example: - value: - payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 - aggregation: integration - integration_type: xero - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - Report: - description: Example response - content: - application/json: + type: string + operationId: get-v1-webhook-subscription-verification-token-uuid + security: + - SystemAccessAuth: [] + description: "Request that the webhook subscription `verification_token` be POSTed to the Subscription URL.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: No Content. The `verification_token` is POSTed to the Subscription URL. + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Verification-Token-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: requestVerificationToken + "/v1/webhook_subscriptions/{webhook_subscription_uuid}/verify": + put: + summary: Verify a webhook subscription + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Report" - examples: - Example: - value: - report_urls: - - https://report.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: succeeded - Create-Report: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true schema: - "$ref": "#/components/schemas/Create-Report" - examples: - Example: - value: - file_type: csv - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - company_uuid: z83d0ca8-7d41-42a9-834y-7d218ef6cb20 - custom_name: CustomReport - Report-Template: - description: Example response - content: - application/json: + type: string + operationId: put-v1-verify-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "When a webhook subscription is created, a `verification_token` is POSTed to the registered webhook subscription URL. This `verify` endpoint needs to be called with `verification_token` before webhook events can be sent to the registered webhook URL.\n\nUse the /v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token API to resend the `verification_token` to the Subscriber.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - verification_token + properties: + verification_token: + type: string + description: The verification token received at the webhook subscription URL. + required: true + x-speakeasy-name-override: verify + "/v1/webhooks/health_check": + get: + summary: Get the webhooks health status + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Report-Template" - examples: - Example: - value: - columns: - - regular_rate - - regular_hours - - regular_earnings - groupings: - - payroll - - employee - company_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - report_type: payroll_journal - Notification: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: get-v1-webhooks-health_check + security: + - SystemAccessAuth: [] + description: "Returns the health status (`healthy`, `unhealthy`, or `unknown`) of the webhooks system based on the last ten minutes of activity.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhooks-Health-Check-Status" + "/v1/wire_in_requests/{wire_in_request_uuid}": + get: + summary: Get a single Wire In Request + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Notification" - examples: - Example: - value: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - company_uuid: 88f7cca1-dcad-4d20-84db-7fb80303d69f - title: 'Action required: Additional information needed to process payroll' - message: If we do not receive this information as soon as possible, your payroll may not be processed on time. - status: open - category: information_request - actionable: true - can_block_payroll: true - published_at: '2022-01-01T00:00:00.000Z' - due_at: '2022-02-01T00:00:00.000Z' - template_variables: - blocked_task: Payroll - resources: - - entity_type: Employee - entity_uuid: 21b6f9ce-0ac4-4745-8d8a-127f8c0f00f2 - Event-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: wire_in_request_uuid + in: path + description: The UUID of the Wire In Request + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Event" - examples: - Example: - value: - - uuid: f7397a24-57ad-4fae-b011-d258e8232900 - event_type: employee.bank_account.created - resource_type: Company - resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - entity_type: BankAccount - entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - timestamp: 1686784995 - Payroll-Check: - description: Example response - content: - application/json: + type: string + operationId: get-wire_in_requests-wire_in_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Fetch a Wire In Request. + + scope: `payrolls:read` + tags: + - Wire In Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: wireInRequests + x-speakeasy-name-override: get + put: + summary: Submit a wire in request + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Payroll-Check" - examples: - Example: - value: - payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 - printing_format: top - starting_check_number: 10 - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: pending - employee_check_number_mapping: - - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - check_number: 10 - Payroll-Receipt: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: wire_in_request_uuid + in: path + description: The UUID of the Wire In Request + required: true schema: - "$ref": "#/components/schemas/Payroll-Receipt" - examples: - Example: - value: - totals: - company_debit: '1080.47' - net_pay_debit: '748.34' - child_support_debit: '100.0' - reimbursement_debit: '50.0' - tax_debit: '182.13' - taxes: - - name: Federal Income Tax - amount: '30.36' - - name: Social Security - amount: '104.54' - - name: Medicare - amount: '24.46' - - name: Additional Medicare - amount: '0.0' - - name: TX SUTA - amount: '22.77' - - name: FUTA - amount: '0.0' - employee_compensations: - - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - employee_first_name: Patricia - employee_last_name: Hamill - payment_method: Direct Deposit - net_pay: '748.34' - total_tax: '182.13' - total_garnishments: '0.0' - child_support_garnishment: '100.0' - total_reimbursement: '50.0' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - payroll_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - name_of_recipient: Payroll Recipients - recipient_notice: Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below. - debit_date: '2022-06-02' - license: ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses - Payroll-Reversal-List: - description: Example response - content: - application/json: + type: string + operationId: put-wire_in_requests-wire_in_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Submit a wire in request for a payment + + scope: `payrolls:run` + tags: + - Wire In Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request-Update-Request-Body" + required: true + x-speakeasy-group: wireInRequests + x-speakeasy-name-override: submit + "/v1/companies/{company_uuid}/wire_in_requests": + get: + summary: Get all Wire In Requests for a company + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Payroll-Reversal" - examples: - Example: - value: - reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' - reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' - reason: Customer Request - approved_at: - category: convert_check_ee_requested - reversed_employee_uuids: - - 5f036964-185e-4c85-bbf2-3873e1203b30 - Gross-Up-Pay: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true schema: - "$ref": "#/components/schemas/Gross-Up-Pay" - examples: - Example: - value: - net_pay: '1183.25' - Contractor-Payment-Receipt: - description: Example response - content: - application/json: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. schema: - "$ref": "#/components/schemas/Contractor-Payment-Receipt" - examples: - Example: - value: - contractor_payment_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - name_of_recipient: Patricia Hamill - totals: - company_debit: '748.34' - contractor_payments: - - contractor_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - contractor_first_name: Patricia - contractor_last_name: Hamill - contractor_business_name: '' - contractor_type: Individual - payment_method: Direct Deposit - wage: '448.34' - bonus: '248.00' - reimbursement: '100.00' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - debit_date: '2022-06-02' - license: Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses - Contractor-Bank-Account-Object: - description: Example response - content: - application/json: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 schema: - "$ref": "#/components/schemas/Contractor-Bank-Account" - examples: - Example: - value: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Contractor-Bank-Account-List: - description: Example response - content: - application/json: + type: integer + operationId: get-companies-company_uuid-wire_in_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Fetches all Wire In Requests for a company. + + scope: `payrolls:read` + tags: + - Wire In Requests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request-List" + x-speakeasy-group: wireInRequests + x-speakeasy-name-override: list + "/v1/employees/{employee_id}/work_addresses": + get: + summary: Get an employee's work addresses + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Contractor-Bank-Account" - examples: - Example: - value: - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Time-Off-Policy-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - "$ref": "#/components/schemas/Time-Off-Policy" - examples: - Unlimited Policy: - value: - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: Test Vacation Unlimited Policy - policy_type: vacation - accrual_method: unlimited - accrual_rate: - accrual_rate_unit: - paid_out_on_termination: false - accrual_waiting_period_days: - carryover_limit_hours: - max_accrual_hours_per_year: - max_hours: - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a - - uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - Fixed Policy: - value: - uuid: 2439c13f-f6d7-4a93-af8c-175fd4cc7ce8 - company_uuid: f5f7b10d-2ddb-42f6-a955-d55320ce5316 - name: Test Vacation Fixed Policy - policy_type: vacation - accrual_method: per_anniversary_year - accrual_rate: '120.0' - accrual_rate_unit: - paid_out_on_termination: true - accrual_waiting_period_days: 0 - carryover_limit_hours: '240.0' - max_accrual_hours_per_year: '120.0' - max_hours: '300.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: de7a5fb3-2e0f-460a-abbf-467fe310bf5c - balance: '80.0' - - uuid: 92af03c7-a833-43ae-bae8-f67007a59b37 - balance: '60.0' - Hourly Policy: - value: - uuid: bd5f354f-12e0-4a5e-ad1f-953bb2685ad4 - company_uuid: 6767445f-5075-4ea4-a7f5-d5b5b93d4d60 - name: Test Vacation Hourly Policy - policy_type: vacation - accrual_method: per_hour_paid - accrual_rate: '4.0' - accrual_rate_unit: '80.0' - paid_out_on_termination: true - accrual_waiting_period_days: 30 - carryover_limit_hours: '200.0' - max_accrual_hours_per_year: '120.0' - max_hours: '240.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 1ea2764d-0f1a-4f09-b1d9-3006aecf63c4 - balance: '56.0' - - uuid: a0db19a2-7c8f-42b4-9d4c-2e6246c3d6e8 - balance: '84.0' - Time-Off-Policy-List: - description: Example response - content: - application/json: + type: string + operationId: get-v1-employees-employee_id-work_addresses + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of an employee's work addresses. Each address includes its effective + date and a boolean signifying if it is the currently active work address. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: List of employee work addresses + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Addresses-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: getWorkAddresses + post: + summary: Create an employee work address + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Time-Off-Policy" - examples: - example: - value: - - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: Test Vacation Unlimited Policy - policy_type: vacation - accrual_method: unlimited - accrual_rate: - accrual_rate_unit: - paid_out_on_termination: false - accrual_waiting_period_days: - carryover_limit_hours: - max_accrual_hours_per_year: - max_hours: - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a - - uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - - uuid: 2439c13f-f6d7-4a93-af8c-175fd4cc7ce8 - company_uuid: f5f7b10d-2ddb-42f6-a955-d55320ce5316 - name: Test Vacation Fixed Policy - policy_type: vacation - accrual_method: per_anniversary_year - accrual_rate: '120.0' - accrual_rate_unit: - paid_out_on_termination: true - accrual_waiting_period_days: 0 - carryover_limit_hours: '240.0' - max_accrual_hours_per_year: '120.0' - max_hours: '300.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: de7a5fb3-2e0f-460a-abbf-467fe310bf5c - balance: '80.0' - - uuid: 92af03c7-a833-43ae-bae8-f67007a59b37 - balance: '60.0' - - uuid: bd5f354f-12e0-4a5e-ad1f-953bb2685ad4 - company_uuid: 6767445f-5075-4ea4-a7f5-d5b5b93d4d60 - name: Test Vacation Hourly Policy - policy_type: vacation - accrual_method: per_hour_paid - accrual_rate: '4.0' - accrual_rate_unit: '80.0' - paid_out_on_termination: true - accrual_waiting_period_days: 30 - carryover_limit_hours: '200.0' - max_accrual_hours_per_year: '120.0' - max_hours: '240.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 1ea2764d-0f1a-4f09-b1d9-3006aecf63c4 - balance: '56.0' - - uuid: a0db19a2-7c8f-42b4-9d4c-2e6246c3d6e8 - balance: '84.0' - Time-Off-Activity-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true schema: - "$ref": "#/components/schemas/Time-Off-Activity" - examples: - example: - value: - - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::AddToPolicy - event_description: 'Added to policy: Vacation Per Hour Worked' - effective_time: '2022-09-27T13:43:03.000-07:00' - balance: '0.0' - balance_change: '0.0' - - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::Accrual - event_description: Accrual - effective_time: '2022-09-27T14:43:03.000-07:00' - balance: '2.0' - balance_change: '2.0' - Invoice-Data-Object: - description: Example response - content: - application/json: + type: string + operationId: post-v1-employees-employee_id-work_addresses + security: + - CompanyAccessAuth: [] + description: |- + The work address of an employee describes when an employee began working at an associated company location. + + scope: `employees:manage` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + location_uuid: + type: string + description: Reference to a company location + example: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 + effective_date: + type: string + format: date + description: Date the employee began working at the company location + example: '2023-05-15' + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: createWorkAddress + "/v1/work_addresses/{work_address_uuid}": + get: + summary: Get an employee work address + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Invoice-Data" - examples: - example: - value: - active_companies: - - company_uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - active_employees: 5 - active_contractors: 3 - initial_invoice_period: 2022-01 - - company_uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - active_employees: 0 - active_contractors: 1 - initial_invoice_period: 2023-05 - Minimum-Wage-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: work_address_uuid + in: path + description: The UUID of the work address + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Minimum-Wage" - examples: - Example: - value: - - uuid: 70c523ff-c71e-4474-9c83-a4ea51bd54a8 - authority: State - wage: '13.0' - wage_type: Regular - effective_date: '2022-01-01' - notes: Employers with 6 or more employees - Information-Request-List: - description: Example response - content: - application/json: + type: string + operationId: get-v1-work_addresses-work_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The work address of an employee is used for payroll tax purposes. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: retrieveWorkAddress + put: + summary: Update an employee work address + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Information-Request" - examples: - Example: - value: - - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - type: company_onboarding - status: pending_response - blocking_payroll: true - required_questions: - - question_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 - question_text: How much wood can a wood chuck chuck? - response_type: text - - question_uuid: b2c3d4e5-f6a7-8901-bcde-f12345678901 - question_text: Please upload supporting documentation - response_type: document - Recovery-Case-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: work_address_uuid + in: path + description: The UUID of the work address + required: true schema: - type: array - items: - "$ref": "#/components/schemas/Recovery-Case" - examples: - Example: - value: - - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - status: open - latest_error_code: R01 - original_debit_date: '2023-10-11' - check_date: '2023-10-13' - payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d - contractor_payment_uuids: - amount_outstanding: '10499.43' - event_total_amount: '5912.07' - Ach-Transaction-List: - description: Example response - content: - application/json: + type: string + operationId: put-v1-work_addresses-work_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The work address of an employee is used for payroll tax purposes. + + scope: `employees:manage` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + location_uuid: + type: string + description: Reference to a company location + example: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 + effective_date: + type: string + format: date + example: '2023-05-15' + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: updateWorkAddress + delete: + summary: Delete an employee's work address + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Ach-Transaction" - examples: - Example: - value: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 456e7890-e12b-34c5-d678-901234567890 - payment_event_type: Payroll - payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 - recipient_type: Employee - recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 - error_code: - transaction_type: Credit employee pay - payment_status: submitted - payment_direction: credit - payment_event_check_date: '2023-10-02' - payment_date: '2023-10-17' - amount: '123.00' - description: PAY 380654 - Wire-In-Request-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: work_address_uuid + in: path + description: The UUID of the work address + required: true schema: - "$ref": "#/components/schemas/Wire-In-Request" - examples: - example: - value: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: 21911761 - recipient_routing_number: 123454321 - additional_notes: Additional Notes - bank_name: JP Morgan Chase - date_sent: '2024-06-10' - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: '1014500.00' - requested_amount: '1014500.00' - wire_in_deadline: '2024-06-21T18:00:00Z' - Wire-In-Request-List: - description: Example response - content: - application/json: + type: string + operationId: delete-v1-work_addresses-work_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + Used for deleting an employee's work address. Cannot delete the employee's active work address. + + scope: `employees:manage` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: no content + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: deleteWorkAddress + "/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company": + get: + summary: Get year-to-date benefit amounts from a different company + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Wire-In-Request" - examples: - Example: - value: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: 21911761 - recipient_routing_number: 5773243 - additional_notes: Additional Notes - bank_name: Chase - date_sent: '2024-06-10' - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll, - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: '1054693.52' - requested_amount: '1054693.52' - wire_in_deadline: '2024-06-21T18:00:00Z' - Time-Sheet-Object: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee schema: - "$ref": "#/components/schemas/Time-Sheet" - examples: - example: - value: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440000 - status: approved - time_zone: America/Los_Angeles - entity_type: Employee - version: 72deb67e16f7b92713c00d3582fa6c68 - job_uuid: 123e4567-e89b-12d3-a456-426655440000 - entity_uuid: 123e4567-e89b-12d3-a456-426655440000 - shift_started_at: '2025-03-04T13:07:10Z' - shift_ended_at: '2025-03-04T16:07:10Z' - created_at: '2025-04-29T16:08:53Z' - updated_at: '2025-04-29T16:08:53Z' - metadata: {} - entries: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Regular - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Overtime - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Double overtime - Time-Sheet-List: - description: Example response - content: - application/json: + type: string + - name: tax_year + in: query + required: false schema: - type: array - items: - "$ref": "#/components/schemas/Time-Sheet" - examples: - Example: - value: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440000 - status: approved - time_zone: America/Los_Angeles - entity_type: Employee - version: 72deb67e16f7b92713c00d3582fa6c68 - job_uuid: 123e4567-e89b-12d3-a456-426655440000 - entity_uuid: 123e4567-e89b-12d3-a456-426655440000 - shift_started_at: '2025-03-04T13:07:10Z' - shift_ended_at: '2025-03-04T16:07:10Z' - created_at: '2025-04-29T16:08:53Z' - updated_at: '2025-04-29T16:08:53Z' - metadata: {} - entries: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Regular - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Overtime - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Double overtime - Company-Suspension: - description: Example response - content: - application/json: + type: integer + minimum: 2000 + maximum: 2999 + example: 2024 + description: The tax year for which to retrieve YTD benefit amounts. Defaults to current year if not specified. + operationId: get-employee-ytd-benefit-amounts-from-different-company + security: + - CompanyAccessAuth: [] + description: |- + Retrieves year-to-date benefit amounts that were contributed at a different company for the specified employee. + Returns benefit amounts for the requested tax year (defaults to current year if not specified). + + This endpoint only supports retrieving outside contributions for 401(k) benefits. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: getYtdBenefitAmountsFromDifferentCompany + post: + summary: Create year-to-date benefit amounts from a different company + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Company-Suspension" - Company-Suspension-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee schema: - type: array - items: - "$ref": "#/components/schemas/Company-Suspension" - Time-Off-Request-Object: - description: Example response - content: - application/json: + type: string + operationId: post-employee-ytd-benefit-amounts-from-different-company + security: + - CompanyAccessAuth: [] + description: |- + Year-to-date benefit amounts from a different company represents the amount of money added to an employee's plan during a current year, made outside of the current contribution when they were employed at a different company. + + This endpoint only supports passing outside contributions for 401(k) benefits. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company-Body" + required: true + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: createYtdBenefitAmountsFromDifferentCompany + "/v1/payroll_digests": + post: + summary: Create a payroll digest batch + parameters: + - name: X-Gusto-API-Version + in: header schema: - "$ref": "#/components/schemas/Time-Off-Request" - Time-Off-Request-List: - description: Example response - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-payroll_digests + security: + - SystemAccessAuth: [] + description: "Triggers an asynchronous computation of payroll digest data (statuses, blockers, pay periods, totals) across up to 25 companies that the partner is mapped to.\n\nThe batch is processed asynchronously. Use the returned batch UUID to poll `GET /v1/payroll_digests/{payroll_digest_uuid}` for status and results.\n\nIdempotency is scoped per `(partner, idempotency_key)`. A duplicate POST with the same `idempotency_key` returns a 409 Conflict referencing the existing batch UUID — no duplicate computation occurs.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `payroll_digests:write`" + tags: + - Payroll Digests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Digest" + '409': + description: conflict - idempotency key already used by this partner + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Digest-Conflict-Error" + '422': + description: unprocessable entity - validation errors + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - idempotency_key + - batch_action + - batch + properties: + idempotency_key: + type: string + format: uuid + description: A partner-generated unique identifier to ensure idempotency of the batch request. Scoped per partner. + example: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + batch_action: + type: string + enum: + - create + description: The action to perform on the batch. + example: create + batch: + type: array + description: Array of companies to fetch payroll digest data for. Maximum 25 companies per request. + minItems: 1 + maxItems: 25 + items: + type: object + required: + - entity_type + - uuid + properties: + entity_type: + type: string + enum: + - company + description: The type of entity to look up. + example: company + uuid: + type: string + format: uuid + description: The UUID of a company that the partner is mapped to. Companies that the partner is not authorized to access will appear in the response's `exclusions` array. + required: true + "/v1/payroll_digests/{payroll_digest_uuid}": + get: + summary: Get a payroll digest batch + parameters: + - name: X-Gusto-API-Version + in: header schema: - type: array - items: - "$ref": "#/components/schemas/Time-Off-Request" - requestBodies: - post-employee-ytd-benefit-amounts-from-different-company: - required: true - content: - application/json: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_digest_uuid + in: path + description: The UUID of the payroll digest batch returned by `POST /v1/payroll_digests`. + required: true schema: - type: object - properties: - benefit_type: - type: integer - description: The benefit type supported by Gusto. - tax_year: - type: number - minimum: 2000 - maximum: 2999 - description: The tax year for which this amount applies. - ytd_employee_deduction_amount: - type: string - default: '0.00' - description: The year-to-date employee deduction made outside the current company. - ytd_company_contribution_amount: - type: string - default: '0.00' - description: The year-to-date company contribution made outside the current company. - required: - - benefit_id - - tax_year - - ytd_employee_deduction_amount - - ytd_company_contribution_amount -security: - - CompanyAccessAuth: [] + type: string + operationId: get-v1-payroll_digests-payroll_digest_uuid + security: + - SystemAccessAuth: [] + description: "Returns the status and results of a payroll digest batch.\n\nPoll this endpoint until the batch `status` reaches a terminal value (`completed` or `failed`). Once terminal, the response includes the full `results` array (one entry per attempted company, each with its own per-company `status` — `success`, `partial_success`, or `failed`) and the `exclusions` array (one entry per company that could not be looked up or processed).\n\nNote that the top-level batch `status` (`pending` / `processing` / `completed` / `failed`) is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. A `completed` batch does not imply every company succeeded — inspect the arrays for per-company outcomes.\n\nResults are stored in Redis with a short TTL after completion. If the partner polls after results have expired, this endpoint returns 410 Gone — partners should re-submit a new batch to fetch fresh data.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `payroll_digests:read`" + tags: + - Payroll Digests + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Digest-Results" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '410': + description: Gone - results have expired from Redis + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/information_requests/{information_request_uuid}/submit": + put: + x-gusto-integration-type: + - embedded + summary: Submit information request responses + tags: + - Information Requests + operationId: submit-information-request + x-speakeasy-group: informationRequests + x-speakeasy-name-override: submit + description: |- + Submit responses to an information request. + Supports both text responses and file uploads (multipart/form-data). + Maximum file size: 120MB. + + scope: `information_requests:write` + parameters: + - "$ref": "#/components/parameters/information_request_uuid" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + required_questions: + type: array + items: + type: object + required: + - question_uuid + - response_type + properties: + question_uuid: + type: string + format: uuid + description: UUID of the question being answered + response_type: + type: string + enum: + - text + - document + description: Type of response - matches the question's response_type from GET + text_response: + type: string + description: Text response (required when response_type is text) + file_response: + type: string + description: Data URL with base64-encoded file (e.g., "data:image/png;base64,..."). Required when response_type is document. + file_name: + type: string + description: Original filename with extension (e.g., "document.pdf"). Used for document uploads. + responses: + '200': + description: Information request successfully submitted + content: + application/json: + schema: + "$ref": "#/components/schemas/Information-Request" + '422': + description: Validation error - invalid responses or missing required answers + "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" + '404': + "$ref": "#/components/responses/Not-Found-Error-Object" diff --git a/.speakeasy/logs/changes/old.openapi.yaml b/.speakeasy/logs/changes/old.openapi.yaml index 1960e67e..5866f9b1 100644 --- a/.speakeasy/logs/changes/old.openapi.yaml +++ b/.speakeasy/logs/changes/old.openapi.yaml @@ -1,18877 +1,38680 @@ openapi: 3.1.0 tags: - - name: Introspection - - name: Companies - - name: Flows - - name: Locations - - name: Bank Accounts - - name: Payment Configs - - name: Pay Schedules - - name: Employees - - name: Employee Tax Setup - - name: Employee Payment Method - - name: Employee Employments - - name: Employee Addresses - - name: Jobs and Compensations - - name: Earning Types - - name: I-9 Verification - - name: Contractor Payment Groups - - name: Contractor Payment Method - - name: Contractor Payments - - name: Contractors - - name: Payrolls - - name: Company Forms - - name: Contractor Documents - - name: Employee Forms - - name: Company Benefits - - name: Employee Benefits - - name: Garnishments - - name: Federal Tax Details - - name: Industry Selection - - name: Signatories - - name: External Payrolls - - name: Tax Requirements - - name: Contractor Forms - - name: Time Off Policies - - name: Holiday Pay Policies - - name: Departments - - name: Reports - - name: Generated Documents - - name: Notifications - - name: Webhooks - - name: Events - - name: Invoices - - name: Recovery Cases - - name: Company Attachment - - name: Wire In Requests - - name: ACH Transactions - - name: Information Requests - - name: Time Tracking + - name: Introspection + - name: Companies + - name: Flows + - name: Locations + - name: Bank Accounts + - name: Payment Configs + - name: Pay Schedules + - name: Employees + - name: Employee Tax Setup + - name: Employee Payment Method + - name: Employee Employments + - name: Employee Addresses + - name: Jobs and Compensations + - name: Earning Types + - name: I-9 Verification + - name: Information Requests + - name: Contractor Payment Groups + - name: Contractor Payment Method + - name: Contractor Payments + - name: Contractors + - name: Payrolls + - name: People Batches + - name: Company Forms + - name: Contractor Documents + - name: Employee Forms + - name: Company Benefits + - name: Employee Benefits + - name: Garnishments + - name: Federal Tax Details + - name: Industry Selection + - name: Signatories + - name: External Payrolls + - name: Tax Requirements + - name: Contractor Forms + - name: Time Off Policies + - name: Time Off Requests + - name: Time Tracking + - name: Holiday Pay Policies + - name: Departments + - name: Reports + - name: Generated Documents + - name: Notifications + - name: Webhooks + - name: Events + - name: Invoices + - name: Recovery Cases + - name: Company Attachment + - name: Wire In Requests + - name: ACH Transactions + - name: Salary Estimates + - name: Reimbursements + - name: Payroll Digests info: - title: Gusto API - version: '2024-04-01' - termsOfService: https://gusto.com/about/terms/developer-terms-of-service - description: Welcome to Gusto's Embedded Payroll API documentation! - contact: - name: Developer Relations - email: developer@gusto.com + title: Gusto API + version: '2026-06-15' + termsOfService: https://gusto.com/about/terms/developer-terms-of-service + description: Welcome to Gusto's Embedded Payroll API documentation! + contact: + name: Developer Relations + email: developer@gusto.com servers: - - url: https://api.gusto-demo.com - description: Demo - x-speakeasy-server-id: demo - - url: https://api.gusto.com - description: Prod - x-speakeasy-server-id: prod -paths: - "/v1/token_info": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get info about the current access token - tags: - - Introspection - responses: - '200': - description: Example response - content: - application/json: - schema: - description: '' - type: object - properties: - scope: - type: string - description: Space delimited string of accessible scopes. - resource: - type: object - description: Information about the token resource. - nullable: true - properties: - type: - type: string - description: Type of object - uuid: - type: string - description: UUID of object - required: - - type - - uuid - resource_owner: - type: object - description: Information about the token owner - nullable: true - properties: - type: - type: string - enum: - - CompanyAdmin - - Employee - - Contractor - uuid: - type: string - description: UUID of resource owner - required: - - type - - uuid - required: - - scope - - resource - - resource_owner - examples: - Example: - value: - scope: companies:read companies:write employees:read - resource: - type: Company - uuid: 5eca5127-6048-43ad-91ee-b56a0c34bc85 - resource_owner: - type: CompanyAdmin - uuid: 367871c2-3f70-4874-adc9-f1736647e8e1 - operationId: get-v1-token-info - description: Returns scope and resource information associated with the current access token. - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: getTokenInfo - "/oauth/revoke": - post: - x-gusto-integration-type: - - app-integrations - operationId: revoke-access-token - summary: Revoke access token - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - required: - - client_id - - client_secret - - token - properties: - client_id: - type: string - description: Your client id - client_secret: - type: string - description: Your client secret - token: - type: string - description: The access token that will be revoked. - tags: - - Introspection - responses: - '200': - description: OK - description: Revokes the given access token. After revoking, this token can no longer be used to make requests nor can it be refreshed. - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: revoke - "/oauth/token": - post: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: refresh-access-token - summary: Refresh access token - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - required: - - client_id - - client_secret - - grant_type - - refresh_token - properties: - client_id: - type: string - description: Your client id - client_secret: - type: string - description: Your client secret - redirect_uri: - type: string - description: The redirect URI you set up via the Developer Portal - refresh_token: - type: string - description: The `refresh_token` being exchanged for an access token code - grant_type: - type: string - description: this should be the literal string 'refresh_token' - tags: - - Introspection - responses: - '200': - "$ref": "#/components/responses/Authentication-Object" - description: |- - Exchange a refresh token for a new access token. - - The previous `refresh_token` will be revoked on the first usage of the new `access_token`. - - The `expires_in` value is provided in seconds from when the `access_token` was generated. - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: refreshAccessToken - "/v1/provision": - post: - x-gusto-integration-type: - - app-integrations - summary: Create a company - tags: - - Companies - responses: - '201': - description: OK - content: - application/json: - schema: - description: '' - type: object - properties: - account_claim_url: - type: string - description: A URL where the user should be redirected to complete their account setup inside of Gusto. - readOnly: true - examples: - Example: - value: - account_claim_url: https://app.gusto.com/claim_account/3456789 - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '401': - description: Authorization information is missing or invalid. - operationId: post-v1-provision - description: "### Overview\nThe company provisioning API provides a way to create a Gusto company as part of your integration. When you successfully call the API, the API does the following:\n* Creates a new company in Gusto.\n* Creates a new user in Gusto.\n* Makes the new user the primary payroll administrator of the new company.\n* Sends a welcome email to the new user.\nIn the response, you will receive an account claim URL. Redirect the user to this URL to complete their account setup inside of Gusto\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access). \n\nscope: `accounts:write`" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - user: - type: object - description: Information for the user who will be the primary payroll administrator for the new company. - required: - - first_name - - last_name - - email - properties: - first_name: - type: string - description: The first name of the user who will be the primary payroll admin. - last_name: - type: string - description: The last name of the user who will be the primary payroll admin. - email: - type: string - description: The email of the user who will be the primary payroll admin. - phone: - type: string - description: The phone number of the user who will be the primary payroll admin. - company: - type: object - required: - - name - properties: - name: - type: string - description: The legal name of the company. - trade_name: - type: string - description: The name of the company. - ein: - type: string - description: The employer identification number (EIN) of the company. - states: - type: array - description: 'The states in which the company operates. States should be included by their two letter code, i.e. NY for New York. ' - items: - type: string - number_employees: - type: number - description: The number of employees in the company. - addresses: - type: array - uniqueItems: false - description: The locations for the company. This includes mailing, work, and filing addresses. - items: - type: object - properties: - street_1: - type: string - street_2: - type: string - nullable: true - city: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - state: - type: string - phone: - type: string - is_primary: - type: string - description: Whether or not this is a primary address for the company. If set to true, the address will be used as the mailing and filing address for the company and will be added as a work location. If set to false or not included, the address will only be added as a work location for the company. If multiple addresses are included, only one should be marked as primary. - required: - - user - - company - examples: - Example: - value: - user: - first_name: Frank - last_name: Ocean - email: frank@example.com - phone: '2345558899' - company: - name: Frank's Ocean, LLC - trade_name: Frank’s Ocean - tier: complete - ein: '123456789' - states: - - CO - - CA - number_employees: 8 - addresses: - - street_1: 1201 16th Street Mall - street_2: Suite 350 - city: Denver - zip: '80202' - state: CO - phone: '2345678900' - is_primary: 'true' - - street_1: 525 20th Street - city: San Francisco - zip: '94107' - state: CA - phone: '2345678901' - description: '' - security: - - SystemAccessAuth: [] - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: provision - "/v1/companies/{company_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a company - operationId: get-v1-companies - description: "Get a company. \nThe employees:read scope is required to return home_address and non-work locations. \nThe company_admin:read scope is required to return primary_payroll_admin. \nThe signatories:read scope is required to return primary_signatory. \n\nscope: `companies:read`" - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Company-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - tags: - - Companies - x-speakeasy-name-override: get - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a company - operationId: put-v1-companies - description: |- - Update a company. - - scope: `companies:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - contractor_only: - type: boolean - description: Whether the company only supports contractors. Must be updated in order for the company to start supporting W-2 employees. Can only be updated from true to false. Note that updating this value will require additional onboarding steps to be completed in order for the company to support W-2 employees. - required: - - contractor_only - examples: - Example: - value: - contractor_only: false - responses: - '200': - "$ref": "#/components/responses/Company-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - tags: - - Companies - x-speakeasy-name-override: update - "/v1/companies/{company_id}/disconnect_app_integration": - post: - x-gusto-integration-type: - - app-integrations - summary: Disconnect an app integration - tags: - - Introspection - operationId: post-v1-disconnect-app-integration - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - description: "Disconnects the given company from the App Integration associated with the current system access token. If multiple users from that company are authorized with the App Integration, then their tokens will also be revoked.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `companies:disconnect_app_integration`" - security: - - SystemAccessAuth: [] - responses: - '204': - description: No content - Disconnect was successful - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: disconnectAppIntegration - "/v1/companies/{company_id}/admins": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all the admins at a company - tags: - - Companies - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - operationId: get-v1-companies-company_id-admins - responses: - '200': - "$ref": "#/components/responses/Admin-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - description: |- - Returns a list of all the admins at a company - - scope: `company_admin:read` - x-speakeasy-name-override: getAdmins - "/v1/companies/{company_id}/custom_fields": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get the custom fields of a company - description: |- - Returns a list of the custom fields of the company. Useful when you need to know the schema of custom fields for an entire company - - scope: `companies:read` - operationId: get-v1-companies-company_id-custom_fields - tags: - - Companies - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Company-Custom-Field-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: getCustomFields - "/v1/companies/{company_id}/locations": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a company location - responses: - '201': - "$ref": "#/components/responses/Location-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-companies-company_id-locations - description: |- - Company locations represent all addresses associated with a company. These can be filing addresses, mailing addresses, and/or work locations; one address may serve multiple, or all, purposes. - - Since all company locations are subsets of locations, retrieving or updating an individual record should be done via the locations endpoints. - - scope: `companies:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - phone_number: - type: string - pattern: "[0-9]{10}" - street_1: - type: string - street_2: - type: string - nullable: true - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - mailing_address: - type: boolean - description: Specify if this location is the company's mailing address. - filing_address: - type: boolean - description: Specify if this location is the company's filing address. - required: - - phone_number - - street_1 - - city - - state - - zip - examples: - Example: - value: - phone_number: '8009360383' - street_1: 425 2nd Street - street_2: Suite 602 - city: San Francisco - state: CA - zip: '94107' - country: USA - description: Create a company location. - tags: - - Locations - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get company locations - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Location-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-locations - description: |- - Company locations represent all addresses associated with a company. These can be filing addresses, mailing addresses, and/or work locations; one address may serve multiple, or all, purposes. - - Since all company locations are subsets of locations, retrieving or updating an individual record should be done via the locations endpoints. - - scope: `companies:read` - tags: - - Locations - x-speakeasy-group: companyLocations - x-speakeasy-name-override: list - "/v1/locations/{location_id}": - get: - summary: Get a location - operationId: get-v1-locations-location_id - description: | - Get a location. - - scope: `companies:read` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: location_id - in: path - description: The UUID of the location - required: true - schema: - type: string - security: - - CompanyAccessAuth: [] - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - created_at: '2025-05-15T08:01:01.000-07:00' - updated_at: '2025-05-15T08:01:01.000-07:00' - company_uuid: 393b7c66-66a1-4967-ab19-32eca5db9edd - version: 2a98f99d7e8e3ede9b04a6494b7f3fcf - uuid: bd6fc55c-1263-4432-aef0-d667b9e0aef7 - street_1: 3079 Hackett Landing - street_2: Suite 671 - city: Belmont - state: IN - zip: '47448' - country: USA - active: true - phone_number: '7425583363' - filing_address: false - mailing_address: true - schema: - "$ref": "#/components/schemas/Location" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: get - put: - summary: Update a location - operationId: put-v1-locations-location_id - description: | - Update a location. - - scope: `companies.write` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - security: - - CompanyAccessAuth: [] - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: location_id - in: path - description: The UUID of the location - required: true - schema: - type: string - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - created_at: '2025-05-15T08:01:03.000-07:00' - updated_at: '2025-05-15T08:01:03.000-07:00' - company_uuid: 7692323a-d689-436c-b9f3-df05d4f16f0f - version: 65aacee259b7169fe6287ddda9fa7d22 - uuid: a8b2221c-c063-4417-8c72-9b8e535ff7c4 - street_1: 300 3rd Street - street_2: Apartment 318 - city: San Francisco - state: MN - zip: '94107' - country: USA - active: true - phone_number: '8009360383' - filing_address: true - mailing_address: true - schema: - "$ref": "#/components/schemas/Location" - '422': - description: Invalid state - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: state - category: invalid_attribute_value - message: State is in the wrong format - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '409': - description: Invalid version param - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: base - category: invalid_resource_version - message: You are attempting to update a resource using an out-of-date version. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - phone_number: - type: string - pattern: "[0-9]{10}" - street_1: - type: string - street_2: - type: string - nullable: true - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - country: - type: string - mailing_address: - type: boolean - description: For a company location, specify if this location is the company's mailing address. A company has a single mailing address, so this designation will override any previous selection. - filing_address: - type: boolean - description: For a company location, specify if this location is the company's filing address. A company has a single filing address, so this designation will override any previous selection. - examples: - request_example_1: - summary: A request example - value: - version: aa2c4db94c2e968aa0cf51f346007c5f - street_1: 300 3rd Street - street_2: Apartment 318 - city: San Francisco - zip: '94107' - phone_number: '8009360383' - filing_address: true - required: true - x-speakeasy-name-override: update - "/v1/locations/{location_uuid}/minimum_wages": - get: - summary: Get minimum wages for a location - operationId: get-v1-locations-location_uuid-minimum_wages - description: | - Get minimum wages for a location - - scope: `companies:read` - tags: - - Locations - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: location_uuid - in: path - description: The UUID of the location - required: true - schema: - type: string - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: effective_date - in: query - required: false - example: '2020-01-31' - schema: - type: string - security: - - CompanyAccessAuth: [] - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - - uuid: f236d80d-52d2-495e-8538-884162a383f4 - authority: City - wage: '15.0' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - - uuid: 0f86fd12-a2fd-45b4-b3ab-fb8400b383b2 - authority: City - wage: '10.5' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - - uuid: 648c12be-857b-4c4e-9667-4e4480ddf794 - authority: State - wage: '10.5' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - - uuid: 9eb81bb8-2a5f-4cba-ab74-da2e2cd35a5f - authority: Federal - wage: '10.5' - wage_type: Regular - effective_date: '2017-01-01' - notes: large companies - schema: - "$ref": "#/components/schemas/Minimum-Wage-List" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: getMinimumWages - "/v1/companies/{company_id}/pay_schedules": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get the pay schedules for a company - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Pay-Schedule-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-pay_schedules - description: |- - The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. - - scope: `pay_schedules:read` - tags: - - Pay Schedules - x-speakeasy-group: paySchedules - x-speakeasy-name-override: list - "/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a pay schedule - responses: - '200': - "$ref": "#/components/responses/Pay-Schedule-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-pay_schedules-pay_schedule_id - description: |- - The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. - - scope: `pay_schedules:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/pay_schedule_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Pay Schedules - x-speakeasy-group: paySchedules - x-speakeasy-name-override: get - "/v1/companies/{company_id}/pay_periods": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get pay periods for a company - tags: - - Pay Schedules - responses: - '200': - "$ref": "#/components/responses/Pay-Period-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-pay_periods - description: |- - Pay periods are the foundation of payroll. Compensation, time & attendance, taxes, and expense reports all rely on when they happened. To begin submitting information for a given payroll, we need to agree on the time period. - - By default, this endpoint returns pay periods starting from 6 months ago to the date today. Use the `start_date` and `end_date` parameters to change the scope of the response. End dates can be up to 3 months in the future and there is no limit on start dates. - - Starting in version '2023-04-01', the eligible_employees attribute was removed from the response. The eligible employees for a payroll are determined by the employee_compensations returned from the payrolls#prepare endpoint. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/start_date" - - "$ref": "#/components/parameters/end_date" - - "$ref": "#/components/parameters/payroll_types" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: getPayPeriods - "/v1/companies/{company_id}/pay_periods/unprocessed_termination_pay_periods": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get termination pay periods for a company - tags: - - Pay Schedules - responses: - '200': - "$ref": "#/components/responses/Unprocessed-Termination-Pay-Period-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-unprocessed_termination_pay_periods - description: |- - When a payroll admin terminates an employee and selects "Dismissal Payroll" as the employee's final payroll, their last pay period will appear on the list. - - This endpoint returns the unprocessed pay periods for past and future terminated employees in a given company. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: paySchedules - x-speakeasy-name-override: getUnprocessedTerminationPayPeriods - "/v1/companies/{company_id}/pay_schedules/assignments": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get pay schedule assignments for a company - responses: - '200': - "$ref": "#/components/responses/Pay-Schedule-Assignment-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-pay_schedules-assignments - description: |- - This endpoint returns the current pay schedule assignment for a company, with pay schedule and employee/department mappings depending on the pay schedule type. - - scope: `pay_schedules:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Pay Schedules - x-speakeasy-group: paySchedules - x-speakeasy-name-override: getAssignments - "/v1/companies/{company_id}/employees": - get: - summary: Get employees of a company - operationId: get-v1-companies-company_id-employees - description: | - Get all of the employees, onboarding, active and terminated, for a given company. - - scope: `employees:read` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: The UUID of the company - schema: - type: string - - name: search_term - in: query - required: false - description: A string to search for in the object's names - schema: - type: string - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - custom_fields - - all_compensations - - company_name - description: | - Include the requested attribute(s) in each employee response, multiple options are comma separated. Available options: - - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - - custom_fields: Include employees' custom fields - - name: terminated - in: query - required: false - description: Filters employees by the provided boolean - schema: - type: boolean - - name: page - in: query - required: false - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - schema: - type: integer - - name: per - in: query - required: false - description: Number of objects per page. For majority of endpoints will default to 25 - schema: - type: integer - security: - - CompanyAccessAuth: [] - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - - uuid: d6d55ac1-802f-403a-bb0a-0543bb5670c3 - first_name: Boaty - middle_initial: - last_name: Jenkins - email: freda_gaylord@nikolausgottlieb.com - company_uuid: 278819f0-5bb9-4af8-8981-5ef539471969 - manager_uuid: - version: b252e3ee842587da40dd4c9206dcb650 - current_employment_status: full_time - onboarding_status: onboarding_completed - preferred_first_name: - department_uuid: - employee_code: 7c6269 - payment_method: Direct Deposit - department: - terminated: false - two_percent_shareholder: false - onboarded: true - historical: false - has_ssn: true - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: 6e481688-c92b-41ab-ba11-90cd77060846 - version: 7b3c1d34eedab81d57ee2dfe89cec6e1 - employee_uuid: d6d55ac1-802f-403a-bb0a-0543bb5670c3 - current_compensation_uuid: a26f36aa-8255-499e-aabd-7404c40db3c2 - payment_unit: Year - primary: true - two_percent_shareholder: false - state_wc_covered: - state_wc_class_code: - title: '' - compensations: - - uuid: a26f36aa-8255-499e-aabd-7404c40db3c2 - employee_uuid: d6d55ac1-802f-403a-bb0a-0543bb5670c3 - version: 1c5b6d134862dee3598c87e6c6300f51 - payment_unit: Year - flsa_status: Exempt - adjust_for_minimum_wage: false - minimum_wages: [] - job_uuid: 6e481688-c92b-41ab-ba11-90cd77060846 - effective_date: '2025-05-15' - rate: '80000.00' - rate: '80000.00' - hire_date: '2024-05-15' - eligible_paid_time_off: [] - terminations: [] - garnishments: [] - date_of_birth: '2005-05-15' - ssn: '' - phone: - work_email: - - uuid: 40bb57f6-3a64-4ab9-9338-1d1a711db7ed - first_name: Cathrine - middle_initial: - last_name: Jacobson - email: hai@morissette.ca - company_uuid: 278819f0-5bb9-4af8-8981-5ef539471969 - manager_uuid: - version: 838143794e09a50eab0207f2e7238520 - current_employment_status: full_time - onboarding_status: onboarding_completed - preferred_first_name: - department_uuid: - employee_code: 58d4c6 - payment_method: Direct Deposit - department: - terminated: false - two_percent_shareholder: false - onboarded: true - historical: false - has_ssn: true - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: db9cd327-96e0-4b53-a94d-1546378c647e - version: 7b3c1d34eedab81d57ee2dfe89cec6e1 - employee_uuid: 40bb57f6-3a64-4ab9-9338-1d1a711db7ed - current_compensation_uuid: 8b7dd287-46f1-4bdf-b245-ec4a8ceaef34 - payment_unit: Year - primary: true - two_percent_shareholder: false - state_wc_covered: - state_wc_class_code: - title: '' - compensations: - - uuid: 8b7dd287-46f1-4bdf-b245-ec4a8ceaef34 - employee_uuid: 40bb57f6-3a64-4ab9-9338-1d1a711db7ed - version: 1c5b6d134862dee3598c87e6c6300f51 - payment_unit: Year - flsa_status: Exempt - adjust_for_minimum_wage: false - minimum_wages: [] - job_uuid: db9cd327-96e0-4b53-a94d-1546378c647e - effective_date: '2025-05-15' - rate: '80000.00' - rate: '80000.00' - hire_date: '2024-05-15' - eligible_paid_time_off: [] - terminations: [] - garnishments: [] - date_of_birth: '2005-05-15' - ssn: '' - phone: - work_email: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: get - post: - summary: Create an employee - operationId: post-v1-employees - description: |4 - Create an employee. - - scope: `employees:manage` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - security: - - CompanyAccessAuth: [] - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: company_id - in: path - required: true - description: Company ID - schema: - type: string - responses: - '201': - description: successful - content: - application/json: - examples: - test_example: - value: - uuid: 83f84a60-a44c-49dc-8b61-db364d7cfbf4 - first_name: Karl - middle_initial: - last_name: The Fog - email: - company_uuid: '085cb0bf-c271-4f33-9d25-4b7ed5534358' - manager_uuid: - version: 5211ee9bb08e51634431a18eff0afc64 - current_employment_status: - onboarding_status: admin_onboarding_incomplete - preferred_first_name: - department_uuid: - employee_code: d5964e - payment_method: Check - department: - terminated: false - two_percent_shareholder: - onboarded: false - historical: false - has_ssn: false - onboarding_documents_config: - uuid: - i9_document: false - jobs: [] - eligible_paid_time_off: [] - terminations: [] - garnishments: [] - date_of_birth: - ssn: '' - phone: - work_email: - schema: - "$ref": "#/components/schemas/Employee" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '422': - description: invalid attributes - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: first_name - category: invalid_attribute_value - message: First name is required - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - required: - - first_name - - last_name - properties: - first_name: - type: string - middle_initial: - type: string - last_name: - type: string - email: - type: string - format: email - description: The employee's personal email address. - date_of_birth: - type: string - format: date - ssn: - type: string - pattern: "[0-9]{9}" - preferred_first_name: - type: string - self_onboarding: - type: boolean - description: If true, employee is expected to self-onboard. If false, payroll admin is expected to enter in the employee's onboarding information - examples: - request_example_1: - summary: A request example - value: - first_name: Karl - last_name: The Fog - x-speakeasy-name-override: create - "/v1/companies/{company_uuid}/departments": - post: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: post-departments - summary: Create a department - tags: - - Departments - description: |- - Create a department - - scope: `departments:write` - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - examples: - Example: - value: - title: Stage Hand - parameters: - - "$ref": "#/components/parameters/company_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '201': - "$ref": "#/components/responses/Department-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all departments of a company - operationId: get-companies-departments - parameters: - - "$ref": "#/components/parameters/company_uuid" - - "$ref": "#/components/parameters/VersionHeader" - description: |- - Get all of the departments for a given company with the employees and contractors assigned to that department. - - scope: `departments:read` - responses: - '200': - "$ref": "#/components/responses/Department-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - tags: - - Departments - x-speakeasy-name-override: getAll - "/v1/departments/{department_uuid}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: get-department - summary: Get a department - tags: - - Departments - description: | - Get a department given the UUID - - scope: `departments:read` - parameters: - - "$ref": "#/components/parameters/department_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Department-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: get - put: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: put-departments - summary: Update a department - tags: - - Departments - description: |- - Update a department - - scope: `departments:write` - parameters: - - "$ref": "#/components/parameters/department_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - title: - type: string - required: - - version - examples: - Example: - value: - version: db0edd04aaac4506f7edab03ac855d56 - title: Backup Dancer - responses: - '200': - "$ref": "#/components/responses/Department-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: update - delete: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: delete-department - summary: Delete a department - tags: - - Departments - description: | - Delete a department. You cannot delete a department until all employees and contractors have been removed. - - scope: `departments:write` - parameters: - - "$ref": "#/components/parameters/department_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - x-speakeasy-name-override: delete - "/v1/departments/{department_uuid}/add": - put: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: put-add-people-to-department - summary: Add people to a department - tags: - - Departments - description: | - Add employees and contractors to a department - - scope: `departments:write` - parameters: - - "$ref": "#/components/parameters/department_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - employees: - type: array - description: Array of employees to add to the department - items: - properties: - uuid: - type: string - contractors: - type: array - description: Array of contractors to add to the department - items: - properties: - uuid: - type: string - responses: - '200': - "$ref": "#/components/responses/Department-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: addPeople - "/v1/departments/{department_uuid}/remove": - put: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: put-remove-people-from-department - summary: Remove people from a department - tags: - - Departments - description: | - Remove employees and contractors from a department - - scope: `departments:write` - parameters: - - "$ref": "#/components/parameters/department_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - employees: - type: array - description: Array of employees to remove from a department - items: - properties: - uuid: - type: string - contractors: - type: array - description: Array of contractors to remove from a department - items: - properties: - uuid: - type: string - responses: - '200': - "$ref": "#/components/responses/Department-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: removePeople - "/v1/employees/{employee_id}": - get: - summary: Get an employee - operationId: get-v1-employees - description: | - Get an employee. - - scope: `employees:read` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - - name: include - in: query - explode: false - required: false - schema: - type: array - items: - type: string - enum: - - custom_fields - - all_compensations - - company_name - description: | - Include the requested attribute(s) in each employee response, multiple options are comma separated. Available options: - - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - - custom_fields: Include employees' custom fields - security: - - CompanyAccessAuth: [] - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - uuid: ac151743-4bea-41a3-ac1e-1707d6dcf9b0 - first_name: Bertram - middle_initial: - last_name: Fritsch - company_uuid: 2f224f94-521b-4ab0-959a-192bb0c00c4d - onboarding_status: onboarding_completed - preferred_first_name: - department_uuid: c2632951-a521-47fc-85df-3f0151fcf207 - email: talia@stehr.com - employee_code: 6b9026 - title: Engineer - department: Trivia 1 - version: 56251d892c85d34d80c85b931760161b - has_ssn: true - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: f2c956af-bc5f-4348-b4aa-7d3ecc2db71b - employee_uuid: ac151743-4bea-41a3-ac1e-1707d6dcf9b0 - location_uuid: a1462592-348d-4d92-ac30-80991b5475cc - primary: true - two_percent_shareholder: false - title: Engineer - hire_date: '2024-05-15' - location: - uuid: a1462592-348d-4d92-ac30-80991b5475cc - street_1: 3121 Milky Way - street_2: '' - city: San Francisco - state: CA - zip: '94107' - country: USA - inactive: false - hired_at: '2024-05-15' - hidden_ssn: '' - flsa_status: Exempt - applicable_tax_ids: - - 3 - - 7 - - 6 - - 2 - - 1 - - 4 - - 5 - - 109 - - 107 - - 108 - - 106 - date_of_birth: '2005-05-15' - schema: - "$ref": "#/components/schemas/Employee" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - x-speakeasy-name-override: getById - put: - summary: Update an employee. - operationId: put-v1-employees - description: | - Update an employee. - - scope: `employees:write` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - security: - - CompanyAccessAuth: [] - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - uuid: ce755bcc-c8d7-4dcc-aa1a-365fd9cb18c5 - first_name: Weezy - middle_initial: F - last_name: Baby - company_uuid: 3753e3e8-d20b-4a9e-b83e-4a06f2976666 - onboarding_status: onboarding_completed - preferred_first_name: - department_uuid: - email: tunechi@cashmoneyrecords.com - employee_code: a41b3c - title: '' - department: - version: 4eff5441d8f8ecc08f53a88ded36f13e - has_ssn: true - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: ad02c425-fa91-436b-b55a-9bd653306dd2 - employee_uuid: ce755bcc-c8d7-4dcc-aa1a-365fd9cb18c5 - location_uuid: 83b23221-705b-4a24-bcbd-892e326fa03d - primary: true - two_percent_shareholder: false - title: '' - hire_date: '2024-05-15' - location: - uuid: 83b23221-705b-4a24-bcbd-892e326fa03d - street_1: 3121 Milky Way - street_2: '' - city: San Francisco - state: CA - zip: '94107' - country: USA - inactive: false - hired_at: '2024-05-15' - hidden_ssn: '' - flsa_status: Exempt - applicable_tax_ids: - - 3 - - 7 - - 6 - - 2 - - 1 - - 4 - - 5 - - 109 - - 107 - - 108 - - 106 - date_of_birth: '1991-01-31' - schema: - "$ref": "#/components/schemas/Employee" - '409': - description: invalid version - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: base - category: invalid_resource_version - message: You are attempting to update a resource using an out-of-date version. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '422': - description: invalid attributes - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: date_of_birth - category: invalid_attribute_value - message: Age must be 13 years or older - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - first_name: - type: string - middle_initial: - type: string - nullable: true - last_name: - type: string - email: - type: string - date_of_birth: - type: string - ssn: - type: string - pattern: "[0-9]{9}" - preferred_first_name: - type: string - nullable: true - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - examples: - request_example_1: - summary: A request example - value: - version: f0c06d303aab1fd909b40d4a1ad409ac - first_name: Weezy - middle_initial: F - last_name: Baby - date_of_birth: '1991-01-31' - email: tunechi@cashmoneyrecords.com - ssn: '824920233' - required: true - x-speakeasy-name-override: update - delete: - summary: Delete an onboarding employee - operationId: delete-v1-employee - description: | - Use this endpoint to delete an employee who is in onboarding. Deleting - an onboarded employee is not allowed and will return a 422 response. Please check out the Terminations api - if you need to terminate an onboarded employee. - - scope: `employees:manage` - tags: - - Employees - x-gusto-integration-type: - - embedded - - app-integrations - security: - - CompanyAccessAuth: [] - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - responses: - '204': - description: successful - content: - application/json: - examples: - test_example: - value: '' - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - '422': - description: cannot delete onboarded employee - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: base - category: invalid_operation - message: Cannot delete onboarded employee - x-speakeasy-name-override: delete - "/v1/employees/{employee_id}/terminations": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create an employee termination - tags: - - Employee Employments - responses: - '201': - "$ref": "#/components/responses/Termination-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-employees-employee_id-terminations - description: |- - Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - effective_date: - type: string - description: The employee's last day of work. - run_termination_payroll: - type: boolean - description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. - required: - - effective_date - examples: - Example: - value: - effective_date: '2020-06-30' - run_termination_payroll: true - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: createTermination - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get terminations for an employee - tags: - - Employee Employments - responses: - '200': - "$ref": "#/components/responses/Termination-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-terminations - description: |- - Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:read` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employees - x-speakeasy-name-override: getTerminations - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete an employee termination - operationId: delete-v1-employees-employee_id-terminations - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Employment-Not-Found-Error-Object" - description: |- - Delete an employee termination. - - scope: `employments:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Employee Employments - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: deleteTermination - "/v1/terminations/{employee_id}": - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update an employee termination - tags: - - Employee Employments - responses: - '200': - "$ref": "#/components/responses/Termination-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Employment-Not-Found-Error-Object" - operationId: put-v1-terminations-employee_id - description: |- - Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. - - Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. - - scope: `employments:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - description: '' - properties: - effective_date: - type: string - description: The employee's last day of work. - run_termination_payroll: - type: boolean - description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. - required: - - effective_date - examples: - Example: - value: - version: 1928d0c378e519e9c03fb959bc959a6b - effective_date: '2020-06-30' - run_termination_payroll: true - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: updateTermination - "/v1/employees/{employee_id}/rehire": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create an employee rehire - tags: - - Employee Employments - responses: - '201': - "$ref": "#/components/responses/Rehire-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-employees-employee_id-rehire - description: |- - Rehire is created whenever an employee is scheduled to return to the company. - - scope: `employments:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire-Body" - examples: - Example: - value: - effective_date: '2023-06-30' - work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 - file_new_hire_report: true - x-speakeasy-name-override: createRehire - x-speakeasy-group: employeeEmployments - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update an employee rehire - tags: - - Employee Employments - responses: - '200': - "$ref": "#/components/responses/Rehire-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Employment-Not-Found-Error-Object" - operationId: put-v1-employees-employee_id-rehire - description: |- - Update an employee's rehire. - - scope: `employments:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Rehire-Body" - examples: - Example: - value: - version: 1928d0c378e519e9c03fb959bc959a6b - effective_date: '2023-06-30' - work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 - file_new_hire_report: true - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: updateRehire - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee rehire - tags: - - Employee Employments - responses: - '200': - "$ref": "#/components/responses/Rehire-Object" - '404': - "$ref": "#/components/responses/Employment-Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-rehire - description: |- - Retrieve an employee's rehire, which contains information on when the employee returns to work. - - scope: `employments:read` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: getRehire - x-speakeasy-group: employeeEmployments - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete an employee rehire - description: |- - Delete an employee rehire. An employee rehire cannot be deleted if it's active (past effective date). - - scope: `employments:write` - operationId: delete-v1-employees-employee_id-rehire - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Employment-Not-Found-Error-Object" - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Employee Employments - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: deleteRehire - "/v1/employees/{employee_id}/employment_history": - get: - summary: Get employment history for an employee - operationId: get-v1-employees-employee_id-employment_history - description: | - Retrieve the employment history for a given employee, which includes termination and rehire. - - scope: `employments:read` - tags: - - Employee Employments - x-gusto-integration-type: - - embedded - - app-integrations - parameters: - - name: X-Gusto-API-Version - in: header - schema: - type: string - enum: - - '2024-04-01' - default: '2024-04-01' - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - - name: employee_id - in: path - description: The UUID of the employee - required: true - schema: - type: string - security: - - CompanyAccessAuth: [] - responses: - '200': - description: successful - content: - application/json: - examples: - test_example: - value: - - hire_date: '2015-05-15' - termination_date: '2025-04-15' - file_new_hire_report: false - two_percent_shareholder: false - employment_status: full_time - schema: - "$ref": "#/components/schemas/Employment-History-List" - '404': - description: not found - content: - application/json: - examples: - test_example: - value: - errors: - - error_key: request - category: not_found - message: The requested resource was not found. - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - x-speakeasy-group: employeeEmployments - x-speakeasy-name-override: getHistory - "/v1/employees/{employee_id}/home_addresses": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee's home addresses - tags: - - Employee Addresses - responses: - '200': - "$ref": "#/components/responses/Employee-Address-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-home_addresses - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:read` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: listHomeAddresses - x-speakeasy-group: employeeAddresses - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create an employee's home address - tags: - - Employee Addresses - responses: - '201': - "$ref": "#/components/responses/Employee-Address-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-employees-employee_id-home_addresses - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - street_1: - type: string - street_2: - type: string - nullable: true - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - effective_date: - type: string - format: date - courtesy_withholding: - type: boolean - required: - - version - examples: - Example: - value: - street_1: 300 3rd Street - street_2: - city: San Francisco - state: CA - zip: '94107' - effective_date: '2021-01-01' - courtesy_withholding: true - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: create - "/v1/home_addresses/{home_address_uuid}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee's home address - tags: - - Employee Addresses - responses: - '200': - "$ref": "#/components/responses/Employee-Address-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-home_addresses-home_address_uuid - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:read` - parameters: - - "$ref": "#/components/parameters/home_address_uuid" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: get - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update an employee's home address - tags: - - Employee Addresses - responses: - '200': - "$ref": "#/components/responses/Employee-Address-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-home_addresses-home_address_uuid - description: |- - The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. - - Supports home address effective dating and courtesy withholding. - - scope: `employees:write` - parameters: - - "$ref": "#/components/parameters/home_address_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - street_1: - type: string - street_2: - type: string - nullable: true - city: - type: string - state: - type: string - zip: - type: string - x-speakeasy-name-override: zip_code - effective_date: - type: string - format: date - courtesy_withholding: - type: boolean - required: - - version - examples: - Example: - value: - version: fe75bd065ff48b91c35fe8ff842f986c - street_1: 300 3rd Street - street_2: - city: San Francisco - state: CA - zip: '94107' - effective_date: '2021-01-01' - courtesy_withholding: true - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: update - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete an employee's home address - tags: - - Employee Addresses - responses: - '204': - description: No Content - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-home_addresses-home_address_uuid - description: |- - Used for deleting an employee's home address. Cannot delete the employee's active home address. - - scope: `employees:write` - parameters: - - "$ref": "#/components/parameters/home_address_uuid" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: deleteHomeAddress - "/v1/employees/{employee_id}/work_addresses": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee's work addresses - tags: - - Employee Addresses - responses: - '200': - "$ref": "#/components/responses/Employee-Work-Address-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-work_addresses - description: |- - Returns a list of an employee's work addresses. Each address includes its effective date and a boolean - signifying if it is the currently active work address. - - scope: `employees:read` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: getWorkAddresses - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create an employee work address - tags: - - Employee Addresses - operationId: post-v1-employees-employee_id-work_addresses - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - description: |- - The work address of an employee describes when an employee began working at an associated company location. - - scope: `employees:manage` - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - location_uuid: - type: string - description: Reference to a company location - effective_date: - type: string - format: date - description: Date the employee began working at the company location - examples: - Example: - value: - location_uuid: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 - effective_date: '2023-05-15' - responses: - '201': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Address" - examples: - Example: - value: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - employee_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - location_uuid: 6a27753a-3093-41c1-9f25-ea64f15e8266 - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: false - effective_date: '2021-01-01' - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: createWorkAddress - "/v1/work_addresses/{work_address_uuid}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee work address - tags: - - Employee Addresses - operationId: get-v1-work_addresses-work_address_uuid - description: |- - The work address of an employee is used for payroll tax purposes. - - scope: `employees:read` - parameters: - - "$ref": "#/components/parameters/work_address_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Address" - examples: - Example: - value: - uuid: 34925ef7-6234-440d-83b8-788a24d0d69a - employee_uuid: 2363b9c0-6625-4425-9261-47627fd68783 - location_uuid: aba6d0fd-7294-4997-b1a4-bc9268c45932 - effective_date: '2023-05-15' - active: true - version: 6a22da647ed391f184a212e6e83a541d - street_1: 977 Marks Viaduct - street_2: - city: Pink Hill - state: NC - zip: '28572' - country: USA - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: getWorkAddress - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update an employee work address - tags: - - Employee Addresses - operationId: put-v1-work_addresses-work_address_uuid - description: |- - The work address of an employee is used for payroll tax purposes. - - scope: `employees:manage` - parameters: - - "$ref": "#/components/parameters/work_address_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - location_uuid: - type: string - description: Reference to a company location - effective_date: - type: string - format: date - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - required: - - version - examples: - Example: - value: - location_uuid: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 - effective_date: '2023-05-15' - version: e6db1baa29d3df1eb307ff6a12c778da - responses: - '200': - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Work-Address" - examples: - Example: - value: - uuid: 34925ef7-6234-440d-83b8-788a24d0d69a - employee_uuid: 2363b9c0-6625-4425-9261-47627fd68783 - location_uuid: aba6d0fd-7294-4997-b1a4-bc9268c45932 - effective_date: '2023-05-15' - active: true - version: 6a22da647ed391f184a212e6e83a541d - street_1: 977 Marks Viaduct - street_2: - city: Pink Hill - state: NC - zip: '28572' - country: USA - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-name-override: updateWorkAddress - x-speakeasy-group: employeeAddresses - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete an employee's work address - tags: - - Employee Addresses - responses: - '204': - description: No Content - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-work_addresses-work_address_uuid - description: |- - Used for deleting an employee's work address. Cannot delete the employee's active work address. - - scope: `employees:manage` - parameters: - - "$ref": "#/components/parameters/work_address_uuid" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employeeAddresses - x-speakeasy-name-override: deleteWorkAddress - "/v1/employees/{employee_id}/custom_fields": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee's custom fields - tags: - - Employees - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - custom_fields: - type: array - items: - "$ref": "#/components/schemas/Employee-Custom-Field" - examples: - Example: - value: - custom_fields: - - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - value: md - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-custom_fields - description: |- - Returns a list of the employee's custom fields. - - scope: `employees:read` - x-speakeasy-name-override: getCustomFields - "/v1/employees/{employee_id}/jobs": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a job - responses: - '201': - "$ref": "#/components/responses/Job-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-jobs-job_id - description: |- - Create a job. - - scope: `jobs:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - title: - type: string - description: The job title - hire_date: - type: string - description: The date when the employee was hired or rehired for the job. - two_percent_shareholder: - type: boolean - description: Whether the employee owns at least 2% of the company. - state_wc_covered: - type: boolean - description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). - nullable: true - state_wc_class_code: - type: string - description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. - nullable: true - required: - - title - - hire_date - examples: - Example: - value: - title: Regional Manager - hire_date: '2020-12-21' - description: Create a job. - tags: - - Jobs and Compensations - x-speakeasy-group: jobs - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get jobs for an employee - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - in: query - name: include - schema: - type: string - enum: - - all_compensations - description: |- - Available options: - - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Job-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-jobs - description: |- - Get all of the jobs that an employee holds. - - scope: `jobs:read` - tags: - - Jobs and Compensations - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: getJobs - "/v1/employees/{employee_uuid}/time_off_activities": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get employee time off activities - responses: - '200': - "$ref": "#/components/responses/Time-Off-Activity-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-version-employees-time_off_activities - parameters: - - "$ref": "#/components/parameters/employee_uuid" - - "$ref": "#/components/parameters/time_off_type" - - "$ref": "#/components/parameters/VersionHeader" - description: |- - Get employee time off activities. - - scope: `employee_time_off_activities:read` - tags: - - Employees - x-speakeasy-name-override: getTimeOffActivities - "/v1/jobs/{job_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a job - responses: - '200': - "$ref": "#/components/responses/Job-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-jobs-job_id - parameters: - - "$ref": "#/components/parameters/job_id" - - in: query - name: include - schema: - type: string - enum: - - all_compensations - description: |- - Available options: - - all_compensations: Include all effective dated compensations for the job instead of only the current compensation - - "$ref": "#/components/parameters/VersionHeader" - description: |- - Get a job. - - scope: `jobs:read` - tags: - - Jobs and Compensations - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: get - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a job - responses: - '200': - "$ref": "#/components/responses/Job-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-jobs-job_id - description: |- - Update a job. - - scope: `jobs:write` - parameters: - - "$ref": "#/components/parameters/job_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - title: - type: string - description: The job title - hire_date: - type: string - description: The date when the employee was hired or rehired for the job. - two_percent_shareholder: - type: boolean - description: Whether the employee owns at least 2% of the company. - state_wc_covered: - type: boolean - description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). - nullable: true - state_wc_class_code: - type: string - description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. - nullable: true - required: - - version - examples: - Example: - value: - version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir - title: Regional Manager - hire_date: '2020-12-21' - description: Update a job. - tags: - - Jobs and Compensations - x-speakeasy-name-override: updateJob - x-speakeasy-group: jobsAndCompensations - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete an individual job - tags: - - Jobs and Compensations - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-jobs-job_id - description: |- - Deletes a specific job that an employee holds. - - scope: `jobs:write` - parameters: - - "$ref": "#/components/parameters/job_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: delete - "/v1/jobs/{job_id}/compensations": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get compensations for a job - parameters: - - "$ref": "#/components/parameters/job_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - in: query - name: include - schema: - type: string - enum: - - all_compensations - description: |- - Available options: - - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Compensation-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-jobs-job_id-compensations - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. By default the API returns only the current compensation - see the `include` query parameter for retrieving all compensations. - - Note: Currently the API does not support creating multiple compensations per job - creating a compensation with the same `job_uuid` as another will fail with a relevant error. - - Use `flsa_status` to determine if an employee is eligible for overtime. - - scope: `jobs:read` - tags: - - Jobs and Compensations - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: getCompensationsForJob - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a compensation - responses: - '201': - "$ref": "#/components/responses/Compensation-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-compensations-compensation_id - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - scope: `jobs:write` - parameters: - - "$ref": "#/components/parameters/job_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - rate: - type: string - description: The dollar amount paid per payment unit. - payment_unit: - type: string - description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. - enum: - - Hour - - Week - - Month - - Year - - Paycheck - effective_date: - type: string - description: The date when the compensation takes effect. - flsa_status: - "$ref": "#/components/schemas/Flsa-Status-Type" - adjust_for_minimum_wage: - type: boolean - description: Determines whether the compensation should be adjusted for minimum wage. Only applies to Nonexempt employees. - minimum_wages: - type: array - items: - type: object - description: The minimum wage record you want to apply to the compensation - properties: - uuid: - type: string - description: The UUID of the minimum wage record. Required if adjust_for_minimum_wage set to true - required: - - payment_unit - - flsa_status - examples: - Exempt: - value: - rate: '60000.00' - payment_unit: Year - flsa_status: Exempt - Minimum Wage Adjusted: - value: - effective_date: '2023-01-01' - rate: '7.00' - payment_unit: Hour - flsa_status: Nonexempt - adjust_for_minimum_wage: true - minimum_wages: - - uuid: 340832db-ab28-4112-9e10-28dd1711835f - tags: - - Jobs and Compensations - x-speakeasy-group: jobs - x-speakeasy-name-override: createCompensation - "/v1/compensations/{compensation_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a compensation - responses: - '200': - "$ref": "#/components/responses/Compensation-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-compensations-compensation_id - description: | - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - scope: `jobs:read` - parameters: - - "$ref": "#/components/parameters/compensation_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Jobs and Compensations - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: getCompensation - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a compensation - tags: - - Jobs and Compensations - responses: - '200': - "$ref": "#/components/responses/Compensation-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-compensations-compensation_id - description: |- - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. - - scope: `jobs:write` - parameters: - - "$ref": "#/components/parameters/compensation_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - rate: - type: string - description: The dollar amount paid per payment unit. - payment_unit: - type: string - description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. - enum: - - Hour - - Week - - Month - - Year - - Paycheck - flsa_status: - "$ref": "#/components/schemas/Flsa-Status-Type" - adjust_for_minimum_wage: - type: boolean - description: Determines whether the compensation should be adjusted for minimum wage. Only applies to Nonexempt employees. - minimum_wages: - type: array - items: - type: object - description: The minimum wage record you want to apply to the compensation - properties: - uuid: - type: string - description: The UUID of the minimum wage record. Required if adjust_for_minimum_wage set to true - required: - - version - examples: - Exempt: - value: - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - rate: '60000.00' - payment_unit: Year - flsa_status: Exempt - Minimum Wage Adjusted: - value: - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - rate: '7.00' - payment_unit: Hour - flsa_status: Nonexempt - adjust_for_minimum_wage: true - minimum_wages: - - uuid: 340832db-ab28-4112-9e10-28dd1711835f - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: updateCompensation - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete a compensation - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-compensations-compensation_id - description: | - Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. This endpoint deletes a compensation for a job that hasn't been processed on payroll. - - scope: `jobs:write` - parameters: - - "$ref": "#/components/parameters/compensation_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Jobs and Compensations - x-speakeasy-group: jobsAndCompensations - x-speakeasy-name-override: deleteCompensation - "/v1/companies/{company_id}/earning_types": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a custom earning type - tags: - - Earning Types - responses: - '201': - "$ref": "#/components/responses/Earning-Type-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-companies-company_id-earning_types - description: |- - Create a custom earning type. - - If an inactive earning type exists with the same name, this will reactivate it instead of creating a new one. - - scope: `payrolls:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - description: The name of the custom earning type. - required: - - name - examples: - Example: - value: - name: Gym Membership Stipend - x-speakeasy-group: earningTypes - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all earning types for a company - tags: - - Earning Types - responses: - '200': - "$ref": "#/components/responses/Earning-Type-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-earning_types - description: |- - A payroll item in Gusto is associated to an earning type to name the type of earning described by the payroll item. - - #### Default Earning Type - Certain earning types are special because they have tax considerations. Those earning types are mostly the same for every company depending on its legal structure (LLC, Corporation, etc.) - - #### Custom Earning Type - Custom earning types are all the other earning types added specifically for a company. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: earningTypes - x-speakeasy-name-override: get - "/v1/companies/{company_id}/earning_types/{earning_type_uuid}": - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update an earning type - tags: - - Earning Types - responses: - '200': - "$ref": "#/components/responses/Earning-Type-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-companies-company_id-earning_types-earning_type_uuid - description: |- - Update an earning type. - - scope: `payrolls:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/earning_type_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - description: The name of the custom earning type. - examples: - Example: - value: - name: Gym Membership Stipend - x-speakeasy-group: earningTypes - x-speakeasy-name-override: update - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Deactivate an earning type - tags: - - Earning Types - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-companies-company_id-earning_types-earning_type_uuid - description: |- - Deactivate an earning type. - - scope: `payrolls:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/earning_type_uuid" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: deactivate - x-speakeasy-group: earningTypes - "/v1/companies/{company_uuid}/contractors": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a contractor - tags: - - Contractors - responses: - '201': - "$ref": "#/components/responses/Created-Contractor-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-companies-company_uuid-contractors - description: |- - Create an individual or business contractor. - - scope: `contractors:manage` - parameters: - - "$ref": "#/components/parameters/company_uuid" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Contractor-Body" - - required: - - type - - wage_type - - start_date - examples: - Create an Individual contractor: - value: - type: Individual - wage_type: Fixed - first_name: Johnson - last_name: Johnson - start_date: '2020-04-01' - self_onboarding: true - email: johnson@johnson.com - file_new_hire_report: true, - work_state: CA - Create a Business contractor: - value: - type: Business - wage_type: Fixed - business_name: Johnson-Johnson Contractors - start_date: '2020-04-01' - description: Create an individual or business contractor. - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get contractors of a company - tags: - - Contractors - parameters: - - "$ref": "#/components/parameters/company_uuid" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/search_term" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Contractor-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_uuid-contractors - description: |- - Get all contractors, active and inactive, individual and business, for a company. - - scope: `contractors:read` - x-speakeasy-name-override: get - "/v1/contractors/{contractor_uuid}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a contractor - tags: - - Contractors - responses: - '200': - "$ref": "#/components/responses/Contractor-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-contractors-contractor_uuid - description: |- - Get a contractor. - - scope: `contractors:read` - parameters: - - "$ref": "#/components/parameters/contractor_uuid" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: getById - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a contractor - tags: - - Contractors - responses: - '200': - "$ref": "#/components/responses/Contractor-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-contractors-contractor_uuid - parameters: - - "$ref": "#/components/parameters/contractor_uuid" - - "$ref": "#/components/parameters/VersionHeader" - description: "Update a contractor.\n\nscope: `contractors:write`\n\n> \U0001F6A7 Warning\n>\n> Watch out when changing a contractor's type (when the contractor is finished onboarding). Specifically, changing contractor type can be dangerous since Gusto won’t recognize and file two separate 1099s if they simply change from business to individual" - requestBody: - required: true - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - "$ref": "#/components/schemas/Contractor-Body" - examples: - Update an Individual Contractor: - value: - version: b48c46abfed1487b873b442334b3c4ff - start_date: '2021-01-01' - first_name: Chanel - last_name: Boyle - middle_initial: X - wage_type: Hourly - hourly_rate: '20.00' - is_active: true - Update a Business Contractor: - value: - version: b48c46abfed1487b873b442334b3c4ff - start_date: '2020-01-11' - business_name: Contracting Solutions - ein: '991113334' - wage_type: Fixed - is_active: false - description: '' - x-speakeasy-name-override: update - "/v1/webhook_subscriptions": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a webhook subscription - responses: - '201': - "$ref": "#/components/responses/Webhook-Subscription-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-webhook-subscription - description: "Create a webhook subscription to receive events of the specified subscription_types whenever there is a state change.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:write`" - security: - - SystemAccessAuth: [] - parameters: - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - url: - type: string - subscription_types: - type: array - items: - type: string - enum: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PaySchedule - - Signatory - required: - - url - - subscription_types - examples: - Example: - value: - url: https://partner-app.com/subscriber - subscription_types: - - Company - - Employee - description: '' - tags: - - Webhooks - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: List webhook subscriptions - tags: - - Webhooks - responses: - '200': - "$ref": "#/components/responses/Webhook-Subscriptions-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-webhook-subscriptions - description: "Returns all webhook subscriptions associated with the provided Partner API token.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:read`" - security: - - SystemAccessAuth: [] - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: listSubscriptions - "/v1/webhook_subscriptions/{webhook_subscription_uuid}": - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a webhook subscription - responses: - '200': - "$ref": "#/components/responses/Webhook-Subscription-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-webhook-subscription-uuid - description: "Updates the Webhook Subscription associated with the provided UUID.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:write`\n" - parameters: - - "$ref": "#/components/parameters/webhook_subscription_uuid" - - "$ref": "#/components/parameters/VersionHeader" - security: - - SystemAccessAuth: [] - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - subscription_types: - type: array - items: - type: string - enum: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PaySchedule - - Signatory - required: - - subscription_types - examples: - Example: - value: - subscription_types: - - Company - - Employee - description: '' - tags: - - Webhooks - x-speakeasy-name-override: updateSubscription - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a webhook subscription - responses: - '200': - "$ref": "#/components/responses/Webhook-Subscription-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-webhook-subscription-uuid - description: "Returns the Webhook Subscription associated with the provided UUID.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:read`\n" - parameters: - - "$ref": "#/components/parameters/webhook_subscription_uuid" - - "$ref": "#/components/parameters/VersionHeader" - security: - - SystemAccessAuth: [] - tags: - - Webhooks - x-speakeasy-name-override: getSubscription - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete a webhook subscription - responses: - '204': - description: The resource was deleted successfully. - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-webhook-subscription-uuid - description: "Deletes the Webhook Subscription associated with the provided UUID.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:write`\n" - parameters: - - "$ref": "#/components/parameters/webhook_subscription_uuid" - - "$ref": "#/components/parameters/VersionHeader" - security: - - SystemAccessAuth: [] - tags: - - Webhooks - x-speakeasy-name-override: deleteSubscription - "/v1/webhook_subscriptions/{webhook_subscription_uuid}/verify": - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Verify the webhook subscription - responses: - '200': - "$ref": "#/components/responses/Webhook-Subscription-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-verify-webhook-subscription-uuid - description: "When a webhook subscription is created, a `verification_token` is POSTed to the registered webhook subscription URL. This `verify` endpoint needs to be called with `verification_token` before webhook events can be sent to the registered webhook URL.\n\nUse the /v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token API to resend the `verification_token` to the Subscriber.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:write`\n" - parameters: - - "$ref": "#/components/parameters/webhook_subscription_uuid" - - "$ref": "#/components/parameters/VersionHeader" - security: - - SystemAccessAuth: [] - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - verification_token: - type: string - description: The token POSTed to the Subscription URL. - required: - - verification_token - examples: - Example: - value: - verification_token: asefasedfe23e234easd - description: '' - tags: - - Webhooks - x-speakeasy-name-override: verify - "/v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Request the webhook subscription verification_token - responses: - '200': - description: No Content. The `verification_token` is POSTed to the Subscription URL. - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-webhook-subscription-verification-token-uuid - description: "Request that the webhook subscription `verification_token` be POSTed to the Subscription URL.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `webhook_subscriptions:read`\n" - parameters: - - "$ref": "#/components/parameters/webhook_subscription_uuid" - - "$ref": "#/components/parameters/VersionHeader" - security: - - SystemAccessAuth: [] - tags: - - Webhooks - x-speakeasy-name-override: requestVerificationToken - "/v1/companies/{company_id}/payrolls": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all payrolls for a company - tags: - - Payrolls - responses: - '200': - "$ref": "#/components/responses/Payroll-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-payrolls - description: |- - Returns a list of payrolls for a company. You can change the payrolls returned by updating the processing_status, payroll_types, start_date, & end_date params. - - By default, will return processed, regular payrolls for the past 6 months. - - Notes: - * Dollar amounts are returned as string representations of numeric decimals, are represented to the cent. - * end_date can be at most 3 months in the future and start_date and end_date can't be more than 1 year apart. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - schema: - type: array - items: - type: string - enum: - - unprocessed - - processed - explode: false - in: query - name: processing_statuses - description: Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` - - schema: - type: array - items: - type: string - enum: - - regular - - off_cycle - - external - explode: false - in: query - name: payroll_types - description: Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` - - schema: - type: array - items: - type: string - enum: - - totals - - payroll_status_meta - - risk_blockers - - reversals - explode: false - in: query - name: include - description: Include the requested attribute in the response. The risk_blockers option will include submission_blockers and credit_blockers if applicable. The reversals option will include reversal payroll UUIDs if applicable. In v2023-04-01 totals are no longer included by default. For multiple attributes comma separate the values, i.e. `?include=totals,payroll_status_meta` - - schema: - type: string - in: query - name: start_date - description: Return payrolls whose pay period is after the start date - - schema: - type: string - in: query - name: end_date - description: Return payrolls whose pay period is before the end date. If left empty, defaults to today's date. - - "$ref": "#/components/parameters/sort_order" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: getForCompany - "/v1/companies/{company_id}/payrolls/{payroll_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a single payroll - tags: - - Payrolls - responses: - '200': - "$ref": "#/components/responses/Payroll-Show-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-payrolls-payroll_id - description: |- - Returns a payroll. If payroll is calculated or processed, will return employee_compensations and totals. - - Notes: - * Hour and dollar amounts are returned as string representations of numeric decimals. - * Hours are represented to the thousands place; dollar amounts are represented to the cent. - * Every eligible compensation is returned for each employee. If no data has yet be inserted for a given field, it defaults to “0.00” (for fixed amounts) or “0.000” (for hours ). - * When include parameter with benefits value is passed, employee_benefits:read scope is required to return benefits - * Benefits containing PHI are only visible with the `employee_benefits:read:phi` scope - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/payroll_id" - - schema: - type: array - items: - enum: - - benefits - - deductions - - taxes - - payroll_status_meta - explode: false - in: query - name: include - description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: get - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a payroll by ID - tags: - - Payrolls - responses: - '200': - "$ref": "#/components/responses/Payroll-Update-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-companies-company_id-payrolls - description: |- - This endpoint allows you to update information for one or more employees for a specific **unprocessed** payroll. You can think of the **unprocessed** - payroll object as a template of fields that you can update. You cannot modify the structure of the payroll object through this endpoint, only values - of the fields included in the payroll. If you do not include specific employee compensations or fixed/hourly compensations in your request body, they - will not be removed from the payroll. - - scope: `payrolls:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/payroll_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - employee_compensations: - type: array - items: - type: object - description: '' - properties: - employee_uuid: - type: string - description: The UUID of the employee. - version: - type: string - description: The current version of this employee compensation from the prepared payroll. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - excluded: - type: boolean - description: This employee will be excluded from payroll calculation and will not be paid for the payroll. - payment_method: - type: string - description: The employee's compensation payment method. Invalid values will be ignored. - enum: - - Direct Deposit - - Check - memo: - type: string - description: Custom text that will be printed as a personal note to the employee on a paystub. - fixed_compensations: - type: array - items: - type: object - description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - amount: - type: string - description: The amount of the compensation for the pay period. - job_uuid: - type: string - description: The UUID of the job for the compensation. - hourly_compensations: - type: array - items: - type: object - description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - hours: - type: string - description: The number of hours to be compensated for this pay period. - job_uuid: - type: string - description: The UUIDs of the job for the compensation. - paid_time_off: - type: array - description: An array of all paid time off the employee is eligible for this pay period. Each paid time off object can be the name or the specific policy_uuid. - items: - type: object - properties: - name: - type: string - description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. Must pass in name or policy_uuid but not both. - hours: - type: string - description: The hours of this PTO taken during the pay period. - policy_uuid: - type: string - description: The uuid of the PTO policy. Must pass in name or policy_uuid but not both. - final_payout_unused_hours_input: - type: string - description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. - withholding_pay_period: - description: The payment schedule tax rate the payroll is based on. Only relevant for off-cycle payrolls. - type: string - enum: - - Every week - - Every other week - - Twice per month - - Monthly - - Quarterly - - Semiannually - - Annually - skip_regular_deductions: - description: Block regular deductions and contributions for this payroll. Only relevant for off-cycle payrolls. - type: boolean - fixed_withholding_rate: - description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only relevant for off-cycle payrolls. - type: boolean - required: - - employee_compensations - x-speakeasy-name-override: update - "/v1/companies/{company_id}/payrolls/{payroll_id}/prepare": - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Prepare a payroll for update - tags: - - Payrolls - responses: - '200': - "$ref": "#/components/responses/Payroll-Update-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-companies-company_id-payrolls-payroll_id-prepare - description: |- - This endpoint will build the payroll and get it ready for making updates. This includes adding/removing eligible employees from the Payroll and updating the check_date, payroll_deadline, and payroll_status_meta dates & times. - - Notes: - * Will null out calculated_at & totals if a payroll has already been calculated. - * Will return the version param used for updating the payroll - - scope: `payrolls:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/payroll_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: prepare - "/v1/payrolls/{payroll_id}/employees/{employee_id}/calculate_accruing_time_off_hours": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Calculate accruing time off hours - tags: - - Time Off Policies - responses: - '200': - "$ref": "#/components/responses/Accruing-Time-Off-Hour-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - operationId: post-v1-payrolls-payroll_id-calculate_accruing_time_off_hours - description: |- - 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. - - scope: `payrolls:read` - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - regular_hours_worked: - type: number - description: regular hours worked in this pay period - overtime_hours_worked: - type: number - description: overtime hours worked in this pay period - double_overtime_hours_worked: - type: number - description: double overtime hours worked in this pay period - pto_hours_used: - type: number - description: paid time off hours used in this pay period - sick_hours_used: - type: number - description: sick hours used in this pay period - examples: - Example: - value: - regular_hours_worked: 30.25 - overtime_hours_worked: 10 - double_overtime_hours_worked: 0 - pto_hours_used: 5.5 - sick_hours_used: 0 - parameters: - - "$ref": "#/components/parameters/payroll_id" - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: calculateAccruingTimeOffHours - x-speakeasy-group: timeOffPolicies - "/v1/companies/{company_id}/contractor_payments": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get contractor payments for a company - tags: - - Contractor Payments - responses: - '200': - description: A JSON object containing contractor payments information - content: - application/json: - schema: - oneOf: - - "$ref": "#/components/schemas/Contractor-Payment-Summary" - - "$ref": "#/components/schemas/Contractor-Payment-Summary-By-Dates" - examples: - Example: - value: - total: - reimbursements: '110.0' - wages: '1840.0' - contractor_payments: - - contractor_id: 1234 - reimbursement_total: '110.0' - wage_total: '1840.0' - payments: - - id: 04552eb9-7829-4b18-ae96-6983552948df - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - may_cancel: true - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - contractor_id: 1234 - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - - id: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 - bonus: '100.0' - date: '2020-10-19' - hours: '0.00' - payment_method: Direct Deposit - reimbursement: '10.0' - hourly_rate: '0.0' - may_cancel: true - wage: '1000.0' - wage_type: Fixed - wage_total: '1100.0' - contractor_id: 1234 - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-contractor_payments - description: |- - Returns an object containing individual contractor payments, within a given time period, including totals. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - schema: - type: string - example: '2020-01-01' - in: query - name: start_date - description: The time period for which to retrieve contractor payments - required: true - - schema: - type: string - example: '2020-12-31' - in: query - name: end_date - description: The time period for which to retrieve contractor payments. If left empty, defaults to today's date. - required: true - - schema: - type: string - in: query - name: contractor_uuid - description: The UUID of the contractor. When specified, will load all payments for that contractor. - - schema: - type: boolean - in: query - name: group_by_date - description: Display contractor payments results group by check date if set to true. - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: contractorPayments - x-speakeasy-name-override: get - "/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a single contractor payment - tags: - - Contractor Payments - responses: - '200': - "$ref": "#/components/responses/Contractor-Payment-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-contractor_payment-contractor-payment - description: |- - Returns a single contractor payment. - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/contractor_payment_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: contractorPayments - x-speakeasy-name-override: getById - "/v1/companies/{company_id}/contractor_payment_groups": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get contractor payment groups for a company - tags: - - Contractor Payment Groups - responses: - '200': - "$ref": "#/components/responses/Contractor-Payment-Group-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-contractor_payment_groups - description: |- - Returns a list of minimal contractor payment groups within a given time period, including totals but not associated contractor payments. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - schema: - type: string - example: '2020-01-01' - in: query - name: start_date - description: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. - required: false - - schema: - type: string - example: '2020-12-31' - in: query - name: end_date - description: The time period for which to retrieve contractor payment groups. Defaults to today's date. - required: false - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: contractorPaymentGroups - x-speakeasy-name-override: get - "/v1/companies/{company_id}/contractor_payment_groups/preview": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Preview a contractor payment group - tags: - - Contractor Payment Groups - responses: - '200': - "$ref": "#/components/responses/Contractor-Payment-Group-Null-Uuid-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-companies-company_id-contractor_payment_groups-preview - description: |- - Preview a group of contractor payments. Request will validate inputs and return preview of the contractor payment group including the expected debit_date. Uuid will be null in the response. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - check_date: - type: string - format: date - description: The payment check date - example: '2020-01-01' - creation_token: - type: string - description: Optional token used to make contractor payment group creation idempotent. If provided, string must be unique for each group you intend to create. - example: 1d532d13-8f61-4a57-ad3c-b5fac1c6e05e - contractor_payments: - type: array - items: - type: object - properties: - contractor_uuid: - type: string - description: The contractor receiving the payment - payment_method: - type: string - enum: - - Direct Deposit - - Check - - Historical Payment - default: Direct Deposit - wage: - type: number - description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked - example: 5000 - hours: - type: number - example: 40 - description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment - bonus: - type: number - example: 500 - description: If the contractor is on an hourly wage, this is the bonus the contractor earned - reimbursement: - type: number - example: 20 - description: Reimbursed wages for the contractor - required: - - check_date - - contractor_payments - x-speakeasy-group: contractorPaymentGroups - x-speakeasy-name-override: preview - "/v1/contractor_payment_groups/{contractor_payment_group_uuid}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Fetch a contractor payment group - tags: - - Contractor Payment Groups - responses: - '200': - "$ref": "#/components/responses/Contractor-Payment-Group-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-contractor_payment_groups-contractor_payment_group_id - description: |- - Returns a contractor payment group with all associated contractor payments. - - scope: `payrolls:read` - parameters: - - "$ref": "#/components/parameters/contractor_payment_group_uuid" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: contractorPaymentGroups - x-speakeasy-name-override: fetch - "/v1/companies/{company_id}/company_benefits": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a company benefit - tags: - - Company Benefits - responses: - '201': - "$ref": "#/components/responses/Company-Benefit-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-companies-company_id-company_benefits - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - scope: `company_benefits:write` - parameters: - - "$ref": "#/components/parameters/company_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - benefit_type: - type: integer - description: The ID of the benefit to which the company benefit belongs. - active: - type: boolean - default: true - description: Whether this benefit is active for employee participation. - description: - type: string - description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. - responsible_for_employer_taxes: - type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. - responsible_for_employee_w2: - type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. - required: - - benefit_id - - description - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get benefits for a company - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Company-Benefit-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-companies-company_id-company_benefits - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. - - scope: `company_benefits:read` - parameters: - - "$ref": "#/components/parameters/company_id" - - schema: - type: boolean - in: query - name: active - description: Whether the benefit is currently active - - schema: - type: boolean - in: query - name: enrollment_count - description: Whether to return employee enrollment count - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: list - x-speakeasy-group: companyBenefits - "/v1/company_benefits/{company_benefit_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a company benefit - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Company-Benefit-With-Employee-Benefits-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-company_benefits-company_benefit_id - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - When with_employee_benefits parameter with true value is passed, employee_benefits:read scope is required to return employee_benefits. - - scope: `company_benefits:read` - parameters: - - "$ref": "#/components/parameters/company_benefit_id" - - schema: - type: boolean - in: query - name: with_employee_benefits - description: Whether to return employee benefits associated with the benefit - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getById - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a company benefit - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Company-Benefit-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-company_benefits-company_benefit_id - description: |- - Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. - - Note that company benefits can be deactivated only when no employees are enrolled. - - scope: `company_benefits:write` - parameters: - - "$ref": "#/components/parameters/company_benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - active: - type: boolean - description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. - description: - type: string - description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. - required: - - version - examples: - Example: - value: - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - active: false - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: update - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete a company benefit - tags: - - Company Benefits - operationId: delete-v1-company_benefits-company_benefit_id - description: |- - The following must be true in order to delete a company benefit - - There are no employee benefits associated with the company benefit - - There are no payroll items associated with the company benefit - - The benefit is not managed by a Partner or by Gusto (type must be 'External') - - scope: `company_benefits:write` - parameters: - - "$ref": "#/components/parameters/company_benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '204': - description: No content - '422': - description: Unprocessable Entity - content: - application/json: - schema: - type: object - properties: - errors: - type: object - properties: - base: - type: array - items: - type: object - properties: - type: - type: string - message: - type: string - full_message: - type: string - examples: - Example: - value: - errors: - base: - - type: error type - message: This is an error message - full_message: This is a more descriptive error message - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: delete - "/v1/benefits": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all benefits supported by Gusto - responses: - '200': - "$ref": "#/components/responses/Supported-Benefit-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-benefits - description: |- - Returns all benefits supported by Gusto. - - The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. - - scope: `benefits:read` - tags: - - Company Benefits - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: listSupported - "/v1/benefits/{benefit_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: get-v1-benefits-benefit_id - summary: Get a supported benefit by ID - description: |- - Returns a benefit supported by Gusto. - - The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. - - scope: `benefits:read` - parameters: - - "$ref": "#/components/parameters/benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Supported-Benefit-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: get - "/v1/company_benefits/{company_benefit_id}/summary": - get: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: get-v1-benefits-company_benefit_id-summary - summary: Get company benefit summary by company benefit id. - description: |- - Returns summary benefit data for the requested company benefit id. - - Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. - - scope: `company_benefits:read` - parameters: - - "$ref": "#/components/parameters/company_benefit_id" - - schema: - type: string - example: '2022-01-01' - in: query - name: start_date - description: The start date for which to retrieve company benefit summary - - schema: - type: string - example: '2022-12-31' - in: query - name: end_date - description: The end date for which to retrieve company benefit summary. If left empty, defaults to today's date. - - schema: - type: boolean - in: query - name: detailed - description: Display employee payroll item summary - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Benefit-Summary-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getSummary - "/v1/company_benefits/{company_benefit_id}/employee_benefits": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all employee benefits for a company benefit - operationId: get-v1-company_benefits-company_benefit_id-employee_benefits - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - Returns an array of all employee benefits enrolled for this company benefit. - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:read` - parameters: - - "$ref": "#/components/parameters/company_benefit_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Employee-Benefit-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getEmployeeBenefits - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Bulk update employee benefits for a company benefit - operationId: put-v1-company_benefits-company_benefit_id-employee_benefits - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - Create or update(if the employee is already enrolled in the company benefit previously) an employee benefit for the company benefit. - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:write` - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Employee-Benefit-List" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - parameters: - - "$ref": "#/components/parameters/company_benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - employee_benefits: - type: array - description: The list of employee benefits to create or update - items: - "$ref": "#/components/schemas/Employee-Benefit-For-Company-Benefit" - required: - - employee_benefits - examples: - Example: - value: - employee_benefits: - - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 8f9f3f68-8fd3-499d-ade7-4a052e56494e - active: true - employee_deduction: '250.00' - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: bulkUpdateEmployeeBenefits - "/v1/benefits/{benefit_id}/requirements": - get: - x-gusto-integration-type: - - embedded - - app-integrations - operationId: get-v1-benefits-benefits_id-requirements - summary: Get benefit fields requirements by ID - description: |- - Returns field requirements for the requested benefit type. - - scope: `benefits:read` - parameters: - - "$ref": "#/components/parameters/benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - tags: - - Company Benefits - responses: - '200': - "$ref": "#/components/responses/Benefit-Type-Requirements-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: companyBenefits - x-speakeasy-name-override: getRequirements - "/v1/employees/{employee_id}/employee_benefits": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create an employee benefit - tags: - - Employee Benefits - responses: - '201': - "$ref": "#/components/responses/Employee-Benefit-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-employees-employee_id-employee_benefits - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - scope: `employee_benefits:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - active: - type: boolean - default: true - description: Whether the employee benefit is active. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - deduct_as_percentage: - type: boolean - default: false - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction_annual_maximum: - type: string - description: The maximum employee deduction amount per year. A null value signifies no limit. - nullable: true - contribution: - type: object - description: An object representing the company contribution type and value. - properties: - type: - type: string - description: |- - The company contribution scheme. - - `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. - - `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. - - `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. - enum: - - tiered - - percentage - - amount - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - type: array - description: For `tiered` contribution types, an array of tiers. - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - The percentage threshold at which this tier ends (inclusive). - - For example, a value of "5" means the company contribution will match employee deductions from the previous tier's threshold up to and including 5% of payroll. - - If this is the first tier, a value of "5" means the company contribution will match employee deductions from 0% up to and including 5% of payroll. - elective: - type: boolean - description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. - default: false - company_contribution_annual_maximum: - type: string - description: The maximum company contribution amount per year. A null value signifies no limit. - nullable: true - limit_option: - type: string - description: |- - Some benefits require additional information to determine - their limit. - - `Family` or `Individual`: Applicable to HSA benefit. - - `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. - enum: - - Family - - Individual - - Joint Filing or Single - - Married and Filing Separately - nullable: true - catch_up: - type: boolean - default: false - description: Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. - coverage_amount: - type: string - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - nullable: true - coverage_salary_multiplier: - type: string - default: '0.00' - description: 'The coverage amount as a multiple of the employee’s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - deduction_reduces_taxable_income: - type: string - enum: - - unset - - reduces_taxable_income - - does_not_reduce_taxable_income - description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' - nullable: true - company_contribution: - type: string - default: '0.00' - description: The amount to be paid, per pay period, by the company. - deprecated: true - contribute_as_percentage: - type: boolean - default: false - description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. - deprecated: true - required: - - company_benefit_uuid - examples: - Example: - value: - company_benefit_uuid: f68abb42-431e-4392-bc3f-2795627e00f3 - active: true - employee_deduction: '100.00' - contribution: - type: amount - value: '100.00' - description: '' - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all benefits for an employee - tags: - - Employee Benefits - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Employee-Benefit-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-employee_benefits - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - Returns an array of all employee benefits for this employee - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:read` - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: getAll - "/v1/employee_benefits/{employee_benefit_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get an employee benefit - tags: - - Employee Benefits - responses: - '200': - "$ref": "#/components/responses/Employee-Benefit-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employee_benefits-employee_benefit_id - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. - - scope: `employee_benefits:read` - parameters: - - "$ref": "#/components/parameters/employee_benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: get - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update an employee benefit - tags: - - Employee Benefits - responses: - '200': - "$ref": "#/components/responses/Employee-Benefit-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-employee_benefits-employee_benefit_id - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - scope: `employee_benefits:write` - parameters: - - "$ref": "#/components/parameters/employee_benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - active: - type: boolean - description: Whether the employee benefit is active. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - deduct_as_percentage: - type: boolean - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction_annual_maximum: - type: string - description: The maximum employee deduction amount per year. A null value signifies no limit. - nullable: true - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - type: - type: string - description: |- - The company contribution scheme. - - `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. - - `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. - - `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. - enum: - - amount - - percentage - - tiered - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - type: array - description: For `tiered` contribution types, an array of tiers. - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - The percentage threshold at which this tier ends (inclusive). - - For example, a value of "5" means the company contribution will match employee deductions from the previous tier's threshold up to and including 5% of payroll. - - If this is the first tier, a value of "5" means the company contribution will match employee deductions from 0% up to and including 5% of payroll. - elective: - type: boolean - description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. - default: false - company_contribution_annual_maximum: - type: string - description: The maximum company contribution amount per year. A null value signifies no limit. - nullable: true - limit_option: - type: string - description: |- - Some benefits require additional information to determine - their limit. - - `Family` or `Individual`: Applicable to HSA benefit. - - `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. - enum: - - Family - - Individual - - Joint Filing or Single - - Married and Filing Separately - nullable: true - catch_up: - type: boolean - default: false - description: Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. - coverage_amount: - type: string - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - nullable: true - deduction_reduces_taxable_income: - type: string - default: unset - enum: - - unset - - reduces_taxable_income - - does_not_reduce_taxable_income - description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' - nullable: true - coverage_salary_multiplier: - type: string - default: '0.00' - description: 'The coverage amount as a multiple of the employee’s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - company_contribution: - type: string - default: '0.00' - description: The amount to be paid, per pay period, by the company. - deprecated: true - contribute_as_percentage: - type: boolean - default: false - description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. - deprecated: true - required: - - version - examples: - Example: - value: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_deduction: '250.00' - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: update - delete: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Delete an employee benefit - tags: - - Employee Benefits - responses: - '204': - description: No Content - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: delete-v1-employee_benefits-employee_benefit_id - description: |- - Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. - - scope: `employee_benefits:write` - parameters: - - "$ref": "#/components/parameters/employee_benefit_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: delete - "/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get year-to-date benefit amounts from a different company - tags: - - Employee Benefits - operationId: get-employee-ytd-benefit-amounts-from-different-company - description: |- - Retrieves year-to-date benefit amounts that were contributed at a different company for the specified employee. - Returns benefit amounts for the requested tax year (defaults to current year if not specified). - - This endpoint only supports retrieving outside contributions for 401(k) benefits. - - scope: `employee_benefits:read` - parameters: - - "$ref": "#/components/parameters/employee_id" - - schema: - type: integer - minimum: 2000 - maximum: 2999 - example: 2024 - in: query - name: tax_year - description: The tax year for which to retrieve YTD benefit amounts. Defaults to current year if not specified. - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Ytd-Benefit-Amounts-From-Different-Company-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: getYtdBenefitAmountsFromDifferentCompany - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create year-to-date benefit amounts from a different company - tags: - - Employee Benefits - operationId: post-employee-ytd-benefit-amounts-from-different-company - description: |- - Year-to-date benefit amounts from a different company represents the amount of money added to an employee's plan during a current year, made outside of the current contribution when they were employed at a different company. - - This endpoint only supports passing outside contributions for 401(k) benefits. - - scope: `employee_benefits:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - "$ref": "#/components/requestBodies/post-employee-ytd-benefit-amounts-from-different-company" - responses: - '204': - description: No Content - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - x-speakeasy-group: employeeBenefits - x-speakeasy-name-override: createYtdBenefitAmountsFromDifferentCompany - "/v1/employees/{employee_id}/garnishments": - post: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Create a garnishment - tags: - - Garnishments - responses: - '201': - "$ref": "#/components/responses/Garnishment-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: post-v1-employees-employee_id-garnishments - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:write` - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - description: '' - type: object - properties: - active: - type: boolean - default: true - description: Whether or not this garnishment is currently active. - amount: - type: string - format: float - readOnly: false - description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". - description: - type: string - readOnly: false - description: The description of the garnishment. - court_ordered: - type: boolean - readOnly: false - description: Whether the garnishment is court ordered. - garnishment_type: - type: string - readOnly: false - nullable: true - description: The specific type of garnishment for court ordered garnishments. - enum: - - child_support - - federal_tax_lien - - state_tax_lien - - student_loan - - creditor_garnishment - - federal_loan - - other_garnishment - times: - type: integer - readOnly: false - default: - nullable: true - description: The number of times to apply the garnishment. Ignored if recurring is true. - recurring: - type: boolean - readOnly: false - default: false - description: Whether the garnishment should recur indefinitely. - annual_maximum: - format: float - readOnly: false - default: - nullable: true - description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". - type: string - pay_period_maximum: - type: string - format: float - default: - nullable: true - description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". - deduct_as_percentage: - type: boolean - readOnly: false - default: false - description: Whether the amount should be treated as a percentage to be deducted per pay period. - total_amount: - type: string - format: float - readOnly: false - description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. - child_support: - "$ref": "#/components/schemas/Garnishment-Child-Support" - required: - - amount - - court_ordered - examples: - Example: - value: - amount: '150.00' - description: Back taxes - court_ordered: true - recurring: true - deduct_as_percentage: false - Child-Support-Example: - value: - court_ordered: true - garnishment_type: child_support - amount: '40' - recurring: true - deduct_as_percentage: true - pay_period_maximum: '500.00' - child_support: - state: FL - fips_code: '12011' - payment_period: Monthly - case_number: CS1234 - x-speakeasy-name-override: create - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get garnishments for an employee - tags: - - Garnishments - parameters: - - "$ref": "#/components/parameters/employee_id" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Garnishment-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-employees-employee_id-garnishments - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:read` - x-speakeasy-name-override: get - "/v1/garnishments/{garnishment_id}": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get a garnishment - tags: - - Garnishments - responses: - '200': - "$ref": "#/components/responses/Garnishment-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: get-v1-garnishments-garnishment_id - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:read` - parameters: - - "$ref": "#/components/parameters/garnishment_id" - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: getById - put: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Update a garnishment - tags: - - Garnishments - responses: - '200': - "$ref": "#/components/responses/Garnishment-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - operationId: put-v1-garnishments-garnishment_id - description: |- - Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. - - scope: `garnishments:write` - parameters: - - "$ref": "#/components/parameters/garnishment_id" - - "$ref": "#/components/parameters/VersionHeader" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - active: - type: boolean - default: true - description: Whether or not this garnishment is currently active. - amount: - type: string - format: float - readOnly: false - description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". - description: - type: string - readOnly: false - description: The description of the garnishment. - court_ordered: - type: boolean - readOnly: false - description: Whether the garnishment is court ordered. - times: - type: integer - readOnly: false - default: - nullable: true - description: The number of times to apply the garnishment. Ignored if recurring is true. - recurring: - type: boolean - readOnly: false - default: false - description: Whether the garnishment should recur indefinitely. - annual_maximum: - format: float - readOnly: false - default: - nullable: true - description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". - type: string - pay_period_maximum: - type: string - format: float - default: - nullable: true - description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". - deduct_as_percentage: - type: boolean - readOnly: false - default: false - description: Whether the amount should be treated as a percentage to be deducted per pay period. - total_amount: - type: string - format: float - readOnly: false - description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. - child_support: - "$ref": "#/components/schemas/Garnishment-Child-Support" - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - required: - - version - examples: - Example: - value: - version: 52b7c567242cb7452e89ba2bc02cb476 - active: false - x-speakeasy-name-override: update - "/v1/garnishments/child_support": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get child support garnishment data - responses: - '200': - "$ref": "#/components/responses/Child-Support-Data-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - tags: - - Garnishments - operationId: get-v1-garnishments-child_support - description: |- - Agency data and requirements to be used for creating child support garnishments - - scope: `garnishments:read` - parameters: - - "$ref": "#/components/parameters/VersionHeader" - x-speakeasy-name-override: getChildSupport - "/v1/events": - get: - x-gusto-integration-type: - - embedded - - app-integrations - summary: Get all events - tags: - - Events - operationId: get-events - description: "Fetch all events, going back up to 30 days, that your partner application has the required scopes for. Note that a partner does NOT have to have verified webhook subscriptions in order to utilize this endpoint.\n\n> \U0001F4D8 System Access Authentication\n>\n> This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access).\n\nscope: `events:read`" - security: - - SystemAccessAuth: [] - parameters: - - "$ref": "#/components/parameters/starting_after_uuid" - - "$ref": "#/components/parameters/resource_uuid" - - "$ref": "#/components/parameters/limit" - - "$ref": "#/components/parameters/event_type" - - "$ref": "#/components/parameters/sort_order" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Event-List" - x-speakeasy-name-override: getAll - "/v1/companies/{company_uuid}/time_tracking/time_sheets": - get: - x-gusto-integration-type: - - app-integrations - summary: Get all time sheets for a company - tags: - - Time Tracking - operationId: get-companies-company_uuid-time_tracking-time_sheets - description: |- - Fetch all company's time sheets. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:read` - parameters: - - "$ref": "#/components/parameters/company_uuid" - - "$ref": "#/components/parameters/entity_uuids" - - "$ref": "#/components/parameters/entity_type" - - "$ref": "#/components/parameters/status" - - "$ref": "#/components/parameters/time_sheet_sort_by" - - "$ref": "#/components/parameters/time_sheet_sort_order" - - "$ref": "#/components/parameters/time_sheet_before" - - "$ref": "#/components/parameters/time_sheet_after" - - "$ref": "#/components/parameters/pageParam" - - "$ref": "#/components/parameters/perParam" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Time-Sheet-List" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - post: - x-gusto-integration-type: - - app-integrations - summary: Create a time sheet - tags: - - Time Tracking - operationId: post-companies-company_uuid-time_tracking-time_sheets - description: |- - Create a time sheet for a company. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:write` - parameters: - - "$ref": "#/components/parameters/company_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '201': - "$ref": "#/components/responses/Time-Sheet-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - type: object - properties: - entity_uuid: - type: string - description: Unique identifier of the entity associated with the time sheet. - entity_type: - type: string - description: Type of entity associated with the time sheet. - job_uuid: - type: string - description: Unique identifier of the job for which time is tracked. - time_zone: - type: string - description: Time zone of where the time is tracked. - shift_started_at: - type: string - format: date-time - description: ISO 8601 timestamp of when the shift was started. - shift_ended_at: - type: string - format: date-time - description: ISO 8601 timestamp of when the shift was ended. If the shift is still ongoing you can omit this field. - metadata: - type: object - additionalProperties: - type: string - maxLength: 500 - propertyNames: - type: string - maxLength: 40 - maxProperties: 50 - description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. - entries: - type: array - description: Entries associated with the time sheet. - items: - type: object - properties: - hours_worked: - type: number - format: float - maxDecimalPlaces: 3 - minimum: 0.001 - description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. - pay_classification: - type: string - description: Pay classification for the entry. - enum: - - Regular - - Overtime - - Double overtime - required: - - entity_uuid - - entity_type - - time_zone - - shift_started_at - examples: - Example: - value: - entity_uuid: 123e4567-e89b-12d3-a456-426614174000 - entity_type: Employee - job_uuid: 123e4567-e89b-12d3-a456-426614174000 - time_zone: America/New_York - shift_started_at: '2024-06-10T09:00:00Z' - shift_ended_at: '2024-06-10T17:00:00Z' - metadata: - custom_field: custom value - entries: - - pay_classification: Regular - hours_worked: 1.5 - "/v1/time_tracking/time_sheets/{time_sheet_uuid}": - get: - x-gusto-integration-type: - - app-integrations - summary: Get a time sheet - tags: - - Time Tracking - operationId: get-time_tracking-time_sheets-time_sheet_uuid - description: |- - Fetch a time sheet. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:read` - parameters: - - "$ref": "#/components/parameters/time_sheet_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Time-Sheet-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - put: - x-gusto-integration-type: - - app-integrations - summary: Update a time sheet - tags: - - Time Tracking - operationId: put-time_tracking-time_sheets-time_sheet_uuid - description: |- - Update a time sheet. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:write` - parameters: - - "$ref": "#/components/parameters/time_sheet_uuid" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '200': - "$ref": "#/components/responses/Time-Sheet-Object" - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" - requestBody: - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Versionable-Required" - - type: object - properties: - entity_uuid: - type: string - description: Unique identifier of the entity associated with the time sheet. - entity_type: - type: string - description: Type of entity associated with the time sheet. - job_uuid: - type: string - description: Unique identifier of the job for which time was tracked. Currently is only supported for employees. - time_zone: - type: string - description: Time zone of where the time was tracked. - shift_started_at: - type: string - format: date-time - description: The start time of the shift. Timestamp should be in ISO8601 - shift_ended_at: - type: string - format: date-time - description: The end time of the shift. If the shift is still ongoing this will be null. - metadata: - type: object - additionalProperties: - type: string - maxLength: 500 - propertyNames: - type: string - maxLength: 40 - maxProperties: 50 - description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. - entries: - type: array - description: Entries associated with the time sheet. - items: - type: object - properties: - uuid: - type: string - description: Unique identifier of the entry. - hours_worked: - type: number - format: float - maxDecimalPlaces: 3 - minimum: 0.001 - description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. - pay_classification: - type: string - description: Pay classification for the entry. - enum: - - Regular - - Overtime - - Double overtime - examples: - Example: - value: - version: 72deb67e16f7b92713c00d3582fa6c68 - entity_uuid: 123e4567-e89b-12d3-a456-426614174000 - entity_type: Employee - job_uuid: 123e4567-e89b-12d3-a456-426614174000 - time_zone: America/New_York - shift_started_at: '2024-06-10T09:00:00Z' - shift_ended_at: '2024-06-10T17:00:00Z' - metadata: - custom_field: custom value - entries: - - uuid: 123e4567-e89b-12d3-a456-426614174000 - hours_worked: 1.5 - delete: - x-gusto-integration-type: - - app-integrations - summary: Delete a time sheet - tags: - - Time Tracking - operationId: delete-time_tracking-time_sheets-time_sheet_uuid - description: |- - Delete a company's time sheet. - - Time sheets represent the time worked by an employee or contractor for a given time range. - Hours are classified by pay classification, and can be regular, overtime, or double overtime. - - scope: `time_sheet:write` - parameters: - - "$ref": "#/components/parameters/time_sheet_uuid" - - "$ref": "#/components/parameters/resource_version" - - "$ref": "#/components/parameters/VersionHeader" - responses: - '204': - description: No Content - '422': - "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" - '404': - "$ref": "#/components/responses/Not-Found-Error-Object" + - url: https://api.gusto-demo.com + description: Demo + x-speakeasy-server-id: demo + - url: https://api.gusto.com + description: Prod + x-speakeasy-server-id: prod components: - parameters: - search_term: - name: search_term - in: query - schema: - type: string - description: A string to search for in the object's names - pageParam: - schema: - type: integer - in: query - name: page - description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. - perParam: - schema: - type: integer - in: query - name: per - description: Number of objects per page. For majority of endpoints will default to 25 - start_date: - in: query - name: start_date - schema: - type: string - example: '2020-01-01' - end_date: - in: query - name: end_date - description: If left empty, defaults to today's date. - schema: - type: string - example: '2020-01-31' - bank_account_uuid: - name: bank_account_uuid - in: path - required: true - schema: + schemas: + Versionable-Required: + type: object + properties: + version: + type: string + example: 56d00c178bc7393b2a206ed6a86afcb4 + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + required: + - version + Minimum-Wage-List: + type: array + x-examples: + success_status: + - uuid: 1b71bb5b-4811-46e9-8a8a-cf5521cbeda6 + authority: City + wage: '15.0' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + - uuid: 87434623-b57d-4630-8da5-9dde599c7840 + authority: City + wage: '10.5' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + - uuid: fa055c11-bfe4-4ac3-84dd-8502cf046b20 + authority: State + wage: '10.5' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + - uuid: cdd9dfc2-6465-4693-ae60-0eecff35038c + authority: Federal + wage: '10.5' + wage_type: Regular + effective_date: '2017-01-01' + notes: large companies + items: + "$ref": "#/components/schemas/Minimum-Wage" + Minimum-Wage: + type: object + description: Representation of a Minimum Wage + properties: + uuid: + type: string + description: unique identifier of a minimum wage + wage: + type: string + format: float + description: The wage rate for a minimum wage record. Represented as a float, e.g. "15.0". + wage_type: + type: string + description: The type of wage the minimum wage applies to, e.g. "Regular", "Regular-Industry-Specific". + effective_date: + type: string + format: date + description: The date the minimum wage rule is effective on. + authority: + type: string + description: The governing authority that created the minimum wage, e.g. "City", "State", or "Federal". + notes: + type: string + description: Description of parties the minimum wage applies to. + required: + - uuid + - wage + - wage_type + - effective_date + - authority + Location: + description: The representation of an address in Gusto. + type: object + title: '' + x-examples: + success_status: + created_at: '2025-06-09T13:43:49.000-07:00' + updated_at: '2025-06-09T13:43:50.000-07:00' + company_uuid: 10593a6a-505b-4aa6-bf31-15dcdceedbe3 + version: e1bdd845a493c74908f8e15d6114169b + uuid: 6b1351a2-de35-4499-b948-43abab274634 + street_1: 300 3rd Street + street_2: Apartment 318 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + phone_number: '8009360383' + filing_address: true + mailing_address: true + properties: + uuid: + type: string + description: The UUID of the location object. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + company_uuid: + type: string + description: The UUID for the company to which the location belongs. Only included if the location belongs to a company. + readOnly: true + phone_number: + type: string + readOnly: false + description: The phone number for the location. Required for company locations. Optional for employee locations. + street_1: + type: string + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: string + readOnly: false + state: + type: string + readOnly: false + zip: + type: string + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: false + default: USA + mailing_address: + type: boolean + description: Specifies if the location is the company's mailing address. Only included if the location belongs to a company. + filing_address: + description: Specifies if the location is the company's filing address. Only included if the location belongs to a company. + type: boolean + created_at: + type: string + description: Datetime for when location is created + updated_at: + type: string + description: Datetime for when location is updated + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + inactive: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + required: + - uuid + Company-Location-Request: + type: object + description: Request body for creating a company location (company address). + properties: + street_1: + type: string + description: Street address line 1. + example: 300 3rd Street + street_2: + type: + - string + - 'null' + description: Street address line 2. + example: Apartment 318 + city: + type: string + description: City. + example: San Francisco + state: + type: string + description: State code (e.g. CA). Must be a valid two-letter state code. + example: CA + zip: + type: string + description: ZIP code. Must be a valid US zip (e.g. 12345 or 12345-6789). + example: '94107' + x-speakeasy-name-override: zip_code + country: + type: string + description: Country code. Defaults to USA. + default: USA + example: USA + phone_number: + type: string + description: Phone number. Must be 10 digits. + pattern: "[0-9]{10}" + example: '8009360383' + mailing_address: + type: boolean + description: Specify if this location is the company's mailing address. + filing_address: + type: boolean + description: Specify if this location is the company's filing address. + required: + - phone_number + - street_1 + - city + - state + - zip + x-examples: + typical_location: + street_1: 300 3rd Street + street_2: Apartment 318 + city: San Francisco + state: CA + zip: '94107' + country: USA + phone_number: '8009360383' + mailing_address: false + filing_address: false + Company-Locations-List: + type: array + x-examples: + success_status: + - uuid: 04552eb9-7829-4b18-ae96-6983552948df + version: 7d9753112507b9dda4fb97910f39b06e + company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb + phone_number: '5825710808' + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + mailing_address: false + filing_address: false + created_at: '2023-09-12T16:42:25.000-07:00' + updated_at: '2023-09-12T16:42:25.000-07:00' + active: true + inactive: false + - uuid: fa94a2fd-11a8-4024-87ff-85c587d9d2b4 + version: 15e6b9680e00f3122729e64e3cef3224 + company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb + phone_number: '2866070827' + street_1: 644 Fay Vista + street_2: Suite 842 + city: Richmond + state: VA + zip: '23218' + country: USA, + mailing_address: true + filing_address: false + created_at: '2023-09-12T16:42:25.000-07:00' + updated_at: '2023-09-12T16:42:25.000-07:00' + active: true + inactive: false + items: + "$ref": "#/components/schemas/Location" + Not-Found-Error-Object: + description: "Not Found \n \nThe requested resource does not exist. Make sure the provided ID/UUID is valid." + type: object + required: + - errors + properties: + errors: + type: array + items: + type: object + required: + - error_key + - category + properties: + error_key: type: string - description: The UUID of the bank account - benefit_id: - schema: + description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + category: type: string - name: benefit_id - in: path - required: true - description: The benefit type in Gusto. - compensation_id: - schema: + description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. + message: type: string - name: compensation_id - in: path - required: true - description: The UUID of the compensation - company_attachment_uuid: - schema: + description: Provides details about the error - generally this message can be surfaced to an end user. + x-examples: + not_found: + errors: + - error_key: request + category: not_found + message: The requested resource was not found. + deprecated_accept_terms_of_service: + errors: + - error_key: request + category: deprecated_endpoint + message: The requested endpoint is no longer supported in the requested API version. Use POST /v1/partner_managed_companies/:company_uuid/terms_of_service instead + deprecated_retrieve_terms_of_service: + errors: + - error_key: request + category: deprecated_endpoint + message: The requested endpoint is no longer supported in the requested API version. Use PUT /v1/partner_managed_companies/:company_uuid/terms_of_service instead + Conflict-Error-Object: + description: "Conflict\n \nThis error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry." + type: object + required: + - errors + properties: + errors: + type: array + items: + type: object + required: + - error_key + - category + properties: + error_key: type: string - name: company_attachment_uuid - in: path - required: true - description: The UUID of the company attachment - company_benefit_id: - schema: + description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + category: type: string - name: company_benefit_id - in: path - required: true - description: The UUID of the company benefit - company_id: - name: company_id - in: path - required: true - schema: + description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. + message: type: string - description: The UUID of the company + description: Provides details about the error - generally this message can be surfaced to an end user. + x-examples: + invalid_version: + errors: + - error_key: base + category: invalid_resource_version + message: You are attempting to update a resource using an out-of-date version. + Unprocessable-Entity-Error-Object: + description: "Unprocessable Entity\n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" + type: object + required: + - errors + properties: + errors: + type: array + items: + "$ref": "#/components/schemas/Entity-Error-Object" + x-examples: + nested_disbursement_errors: + errors: + - error_key: disbursements + category: nested_errors + metadata: + employee_uuid: invalid-uuid-1 + errors: + - error_key: employee_uuid + category: not_found + message: Disbursement not found. + - error_key: disbursements + category: nested_errors + metadata: + employee_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + errors: + - error_key: payment_method + category: invalid_attribute_value + message: 'Payment method must be one of: Direct Deposit, Check.' + - error_key: payment_status + category: invalid_attribute_value + message: Payment status is not valid for payment method 'InvalidMethod'. + invalid_token: + errors: + - error_key: base + category: invalid_attribute_value + message: Invalid verification token + notification_supporting_data_invalid: + errors: + - error_key: base + category: invalid_operation + message: 'Invalid notification: supporting data is no longer valid.' + employee_payment_details_invalid_filter_combination: + errors: + - error_key: base + category: invalid_request_error + message: Cannot filter by both employee_uuid and payroll_uuid simultaneously. + contractor_document_sign_missing_agree: + errors: + - error_key: agree + category: invalid_attribute_value + message: You must agree to sign the document electronically + contractor_document_sign_invalid_ip_address: + errors: + - error_key: signed_by_ip_address + category: invalid_attribute_value + message: Signed by ip address is invalid + contractor_document_sign_missing_fields: + errors: + - error_key: fields + category: nested_errors + errors: + - error_key: dogs_name + category: invalid_attribute_value + message: Field is required. + - error_key: dogs_favorite_food + category: invalid_attribute_value + message: Field is required. + - error_key: dogs_signature + category: invalid_attribute_value + message: Field is required. + contractor_document_sign_already_signed: + errors: + - error_key: base + category: invalid_operation + message: This form has already been signed + contractor_document_unsupported_form_type: + errors: + - error_key: base + category: invalid_operation + message: Form type is not supported + bank_account_delete_unfunded_payments: + errors: + - error_key: base + category: invalid_operation + message: FundingMethod has unfunded payments + bank_account_verify_incorrect_deposits: + errors: + - error_key: base + category: invalid_operation + message: Your bank account cannot be verified. Please check the test deposit amounts. + bank_account_verify_already_verified: + errors: + - error_key: base + category: invalid_operation + message: Your bank account has already been verified. + bank_account_missing_routing: + errors: + - error_key: routing_number + category: invalid_attribute_value + message: Routing number is required. + plaid_processor_token_missing: + errors: + - error_key: processor_token + category: invalid_attribute_value + message: 'Processor token param is missing or the value is empty: processor_token' + contractor_bank_account_invalid_account_number: + errors: + - error_key: account_number + category: invalid_attribute_value + message: Invalid account number format + contractor_bank_account_invalid_account_type: + errors: + - error_key: account_type + category: invalid_attribute_value + message: Account type's value is not included in the list + contractor_payment_method_invalid_type: + errors: + - error_key: type + category: invalid_attribute_value + message: Payment method must be 'Check' or 'Direct Deposit' + company_attachment_missing_document: + errors: + - error_key: base + category: missing_parameter + message: "'document' is required" + company_attachment_invalid_category: + errors: + - error_key: base + category: missing_parameter + message: Attachment category is not supported + company_attachment_invalid_file_type: + errors: + - error_key: file + category: invalid_attribute_value + message: file type is not allowed + provision_missing_user: + errors: + - error_key: user + category: missing_parameter + message: user is required. + provision_invalid_email: + errors: + - error_key: base + category: invalid_attribute_value + message: Invalid email address. + admin_missing_required_field: + errors: + - error_key: last_name + category: missing_parameter + message: last_name is required. + admin_duplicate_email: + errors: + - error_key: email + category: invalid_attribute_value + message: User has already been taken + - error_key: company + category: invalid_attribute_value + message: Company is invalid + sandbox_w2_already_generated: + errors: + - error_key: base + category: invalid_attribute_value + message: W2 already generated for this year + sandbox_w2_invalid_year: + errors: + - error_key: base + category: invalid_attribute_value + message: Cannot generate form for year 1800 + sandbox_1099_invalid_year: + errors: + - error_key: base + category: invalid_attribute_value + message: Please enter a year between 2015 and 2024 + employee_bank_account_missing_name: + errors: + - error_key: name + category: invalid_attribute_value + message: Name is required + employee_bank_account_invalid_account_number: + errors: + - error_key: account_number + category: invalid_attribute_value + message: Invalid account number + employee_bank_account_duplicate: + errors: + - error_key: base + category: invalid_operation + message: Bank account with the same details already exists + employee_bank_account_invalid_routing_on_update: + errors: + - error_key: routing_number + category: invalid_attribute_value + message: Invalid routing number + payment_configs_missing_parameter: + errors: + - error_key: base + category: missing_parameter + message: At least one parameter must be provided + payment_configs_invalid_fast_payment_limit: + errors: + - error_key: fast_payment_limit + category: invalid_attribute_value + message: Fast payment limit should be a number + pay_periods_invalid_end_date: + errors: + - error_key: end_date + category: invalid_parameter + message: End date cannot be more than 3 months in future + company_industry_selection_naics_code_required: + errors: + - error_key: naics_code + category: invalid_attribute_value + message: Naics code is required. + company_industry_selection_naics_code_invalid: + errors: + - error_key: naics_code + category: invalid_attribute_value + message: Naics code must be equal to 6 digits. + company_industry_selection_sics_codes_invalid: + errors: + - error_key: sic_codes + category: invalid_attribute_value + message: Sic codes must be equal to 4 digits + time_off_policy_name_required: + errors: + - error_key: name + category: invalid_attribute_value + message: Name is required. + time_off_policy_unlimited_invalid_accrual_rate: + errors: + - error_key: accrual_rate + category: invalid_operation + message: Accrual rate must be blank for unlimited policies. + time_off_policy_pending_requests: + errors: + - error_key: time_off_policy + category: invalid_operation + message: Cannot deactivate policy with pending time off requests. + time_off_policy_employees_required: + errors: + - error_key: employees + category: invalid_attribute_value + message: Employees are required. + time_off_policy_unlimited_balance_update: + errors: + - error_key: base + category: invalid_attribute_value + message: Can not adjust balances for unlimited policies. + payroll_sync_invalid_pay_schedule: + errors: + - error_key: pay_schedule_uuid + category: invalid_attribute_value + message: Pay schedule uuid could not be found. + payroll_sync_no_employees: + errors: + - error_key: base + category: invalid_operation + message: There are no employees to run payroll for in the selected pay period. + payroll_sync_empty_export: + errors: + - error_key: base + category: invalid_operation + message: There are no hours to sync to payroll for the selected pay period. + payroll_update_payroll_item_validation_error: + errors: + - error_key: employee_compensations + category: nested_errors + errors: + - error_key: payment_method + category: invalid_attribute_value + message: Payment method cannot be changed for check-only payrolls. All employees must be paid by check. + payroll_update_recurring_reimbursement_error: + errors: + - error_key: employee_compensations + category: nested_errors + errors: + - error_key: reimbursements + category: invalid_attribute_value + message: Cannot update recurring reimbursements through payroll updates. Update the recurring reimbursement directly. + migrate_company_terms_of_service: + errors: + - error_key: base + category: migration_blocker + message: Terms of service must be accepted by a company payroll admin. + metadata: + key: terms_of_service + migrate_company_already_migrated: + errors: + - error_key: base + category: invalid_attribute_value + message: The operation was already performed for this company. + metadata: + key: migrated_company + partner_managed_company_create_missing_company: + errors: + - error_key: company + category: missing_parameter + message: company is required. + partner_managed_company_create_invalid_name: + errors: + - error_key: name + category: invalid_attribute_value + message: Company name must be at least 2 characters + partner_managed_company_tos_invalid_ip_address: + errors: + - error_key: ip_address + category: invalid_attribute_value + message: A valid user's IP Address is required in order to accept terms of service. + partner_managed_company_tos_missing_external_user_id: + errors: + - error_key: external_user_id + category: invalid_attribute_value + message: Your platform's User ID is required in order to accept terms of service. + partner_managed_company_tos_invalid_user_email: + errors: + - error_key: email + category: invalid_attribute_value + message: Email does not belong to company user. + holiday_pay_policy_already_exists: + errors: + - error_key: base + category: invalid_operation + message: Company already has a holiday pay policy. + holiday_pay_policy_not_exists: + errors: + - error_key: base + category: invalid_operation + message: Company does not have a holiday pay policy, please create one + holiday_pay_policy_invalid_employees: + errors: + - error_key: employees + category: invalid_attribute_value + message: Invalid employee uuids provided. + onboarded_employee: + errors: + - error_key: base + category: invalid_operation + message: Cannot delete onboarded employee + garnishment_invalid_amount: + errors: + - error_key: amount + category: invalid_attribute_value + message: Amount must be greater than or equal to 0 + garnishment_pay_period_exceeds_annual: + errors: + - error_key: pay_period_maximum + category: invalid_attribute_value + message: Pay period maximum must be less than annual maximum + garnishment_type_cannot_change: + errors: + - error_key: garnishment_type + category: invalid_attribute_value + message: Garnishment type cannot change + garnishment_child_support_invalid_fips: + errors: + - error_key: child_support + category: nested_errors + errors: + - error_key: fips_code + category: invalid_attribute_value + message: FIPS code is not valid for CA + garnishment_child_support_missing_fields: + errors: + - error_key: child_support + category: nested_errors + errors: + - error_key: state + category: invalid_attribute_value + message: Select a valid state agency + - error_key: payment_period + category: invalid_attribute_value + message: Select a valid payment period + - error_key: case_number + category: invalid_attribute_value + message: Case number is required + invalid_attribute: + errors: + - error_key: base + category: invalid_operation + message: There is an error in the request body. + pay_schedule_missing_anchor_dates: + errors: + - error_key: anchor_pay_date + category: invalid_attribute_value + message: can't be blank + - error_key: anchor_end_of_pay_period + category: invalid_attribute_value + message: can't be blank + pay_schedule_invalid_frequency: + errors: + - error_key: frequency + category: invalid_attribute_value + message: is not included in the list + pay_schedule_malformed_dates: + errors: + - error_key: anchor_pay_date + category: invalid_attribute_value + message: is invalid + - error_key: anchor_end_of_pay_period + category: invalid_attribute_value + message: is invalid + skip_payroll_invalid_payroll_type: + errors: + - error_key: payroll_type + category: invalid_attribute_value + message: Payroll type is not valid. + paid_holidays_invalid_year: + errors: + - error_key: base + category: invalid_attribute_value + message: Invalid year provided. + tax_requirements_invalid_requirement_key: + errors: + - error_key: requirement_sets + category: nested_errors + metadata: + key: misc + effective_from: + state: NY + errors: + - error_key: requirements + category: nested_errors + metadata: + key: 1-2-3-4 + errors: + - error_key: key + category: invalid_attribute_value + message: Key is required + tax_requirements_invalid_value_type: + errors: + - error_key: requirement_sets + category: nested_errors + metadata: + key: misc + effective_from: + state: NY + errors: + - error_key: requirements + category: nested_errors + metadata: + key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + errors: + - error_key: value + category: invalid_attribute_value + message: Expected a value of type boolean, but got string + tax_requirements_domain_validation_failure: + errors: + - error_key: requirement_sets + category: nested_errors + metadata: + key: taxrates + effective_from: '2026-01-01' + state: NY + errors: + - error_key: requirements + category: nested_errors + metadata: + key: e0ac2284-8d30-4100-ae23-f85f9574868b + errors: + - error_key: value + category: invalid_attribute_value + message: SUI Tax Rate must be between 0.00% and 9.825% + company_cannot_enable_contractor_only: + errors: + - error_key: contractor_only + category: invalid_attribute_value + message: Contractor only cannot be enabled for existing companies. + company_missing_parameter: + errors: + - error_key: base + category: missing_parameter + message: contractor_only is required. + starting_after_uuid_invalid: + errors: + - error_key: starting_after_uuid + category: invalid_attribute_value + message: Parameter 'starting_after_uuid' does not correspond to a valid event. + resource_uuid_invalid: + errors: + - error_key: resource_uuid + category: invalid_attribute_value + message: Parameter 'resource_uuid' does not correspond to a valid resource. + payroll_gross_up_invalid_net_pay: + errors: + - error_key: net_pay + category: invalid_attribute_value + message: Net pay must be a number. + payroll_accruing_hours_invalid: + errors: + - error_key: base + category: invalid_attribute_value + message: Hours cannot be negative. + payroll_cannot_cancel: + errors: + - error_key: base + category: invalid_operation + message: Payroll cannot be canceled. + frozen_payroll: + errors: + - error_key: base + category: invalid_operation + message: This payroll has already been processed. Its data cannot be updated or altered. + frozen_payroll_processing: + errors: + - error_key: base + category: invalid_operation + message: This payroll is being processed and cannot be updated at this time. + unmodifiable_payroll_type: + errors: + - error_key: base + category: invalid_operation + message: This type of payroll cannot be modified or processed. It is reserved for system processes. + invalid_employee_uuids_format: + errors: + - error_key: employee_uuids + category: invalid_attribute_value + message: Parameter employee_uuids must be an array. + maximum_employee_uuids_surpassed: + errors: + - error_key: employee_uuids + category: invalid_attribute_value + message: Exceeded maximum of 100 for lookup. + invalid_employee_uuid: + errors: + - error_key: employee_uuids + category: invalid_attribute_value + message: Invalid Employee UUID(s). + metadata: + entity_type: Employee + entity_uuid: invalid-uuid-123 + payroll_blocker_missing_bank_info: + errors: + - error_key: base + category: payroll_blocker + message: Company must have a bank account in order to run payroll. + metadata: + key: missing_bank_info + payroll_blocker_missing_employee_setup: + errors: + - error_key: base + category: payroll_blocker + message: Company must add employees in order to run payroll. + metadata: + key: missing_employee_setup + payroll_blocker_missing_federal_tax_setup: + errors: + - error_key: base + category: payroll_blocker + message: Company must complete federal tax setup in order to run payroll. + metadata: + key: missing_federal_tax_setup + payroll_blocker_missing_bank_verification: + errors: + - error_key: base + category: payroll_blocker + message: Company bank account must be verified in order to run payroll. + metadata: + key: missing_bank_verification + payroll_blocker_suspended: + errors: + - error_key: base + category: payroll_blocker + message: Company is suspended and cannot run payroll. + metadata: + key: suspended + submission_blocker_missing_selection: + errors: + - error_key: submission_blockers + category: invalid_attribute_value + message: Submission blockers selections required + submission_blocker_invalid_option: + errors: + - error_key: submission_blockers + category: nested_errors + metadata: + blocker_type: fast_ach_threshold_exceeded + errors: + - error_key: selected_option + category: invalid_attribute_value + message: Selection is not available to resolve Fast ACH Threshold Exceeded. Please choose one of Wire In, Move To Four Day + invalid_version: + errors: + - error_key: base + category: invalid_resource_version + message: You are attempting to update a resource using an out-of-date version. + payroll_update_stale_employee_compensation_version: + errors: + - error_key: base + category: invalid_resource_version + message: Supplied Version (stale-version) is invalid. + metadata: + entity_type: Employee + entity_uuid: a8e9d2c6-1f3b-4d5a-9c8e-7f0b2d4c6e8a + employee_create_self_onboarding_missing_email: + errors: + - error_key: email + category: invalid_attribute_value + message: Email is required to invite the employee to self-onboard + employee_benefit_simple_ira_elective_mismatch: + errors: + - error_key: elective + category: invalid_attribute_value + message: Elective must be true for matching Simple IRA benefits + signatory_email_required: + errors: + - error_key: email + category: invalid_attribute_value + message: Email is required + signatory_company_already_has_signatory: + errors: + - error_key: base + category: invalid_operation + message: Cannot have more than one signatory in a company. Please remove the existing signatory before adding a new one. + mixed_disbursement_errors: + errors: + - error_key: disbursements + category: nested_errors + metadata: + contractor_payment_uuid: invalid-uuid-1 + errors: + - error_key: contractor_payment_uuid + category: not_found + message: Disbursement not found. + - error_key: disbursements + category: nested_errors + metadata: + contractor_payment_uuid: d0dfa222-ad08-4ea7-a06a-717688c3b179 + errors: + - error_key: payment_method + category: invalid_attribute_value + message: 'Payment method must be one of: Direct Deposit, Check.' + - error_key: payment_status + category: invalid_attribute_value + message: Payment status is not valid for payment method 'InvalidMethod'. + not_found: + errors: + - error_key: request + category: not_found + message: The requested resource was not found. + finish_onboarding_incomplete: + errors: + - error_key: base + category: invalid_operation + message: Company is not ready to exit onboarding. + federal_tax_invalid_ein: + errors: + - error_key: ein + category: invalid_attribute_value + message: EIN must be 9 digits + federal_tax_ein_cannot_change: + errors: + - error_key: ein + category: invalid_attribute_value + message: EIN cannot be updated after company has been onboarded. Please contact support to update the EIN. + federal_tax_legal_name_cannot_change: + errors: + - error_key: legal_name + category: invalid_attribute_value + message: Legal name cannot be updated after company has been onboarded. Please contact support to update the legal name. + company_location_validation: + errors: + - error_key: street_1 + category: invalid_attribute_value + message: Must include a street address + - error_key: city + category: invalid_attribute_value + message: Must include a city + - error_key: state + category: invalid_attribute_value + message: State is in the wrong format + - error_key: zip + category: invalid_attribute_value + message: Please enter a valid zip code (e.g. 12345). + - error_key: phone_number + category: invalid_attribute_value + message: Phone number must be 10 digits + conflict: + errors: + - error_key: request + category: duplicate_operation + message: A resource with these attributes already exists. + invalid_parameter: + errors: + - error_key: request + category: invalid_parameter + message: The provided parameter is invalid or missing. + flow_invalid_entity: + errors: + - error_key: entity_type + category: invalid_attribute_value + message: Invalid flow entity + - error_key: entity_uuid + category: invalid_attribute_value + message: Invalid flow entity + flow_nested_options_errors: + errors: + - error_key: options + category: nested_errors + metadata: + flow_type: company_forms + errors: + - error_key: form_types + category: invalid_attribute_value + message: Supplied value 'invalid' contains no permitted values + basic: + errors: + - error_key: base + category: payroll_blocker + message: Company must complete all onboarding requirements in order to run payroll. + metadata: + key: needs_onboarding + contractor_already_onboarded: + errors: + - error_key: onboarding_status + category: invalid_attribute_value + message: Contractor is already fully onboarded + contractor_is_active_pending_dismissal: + errors: + - error_key: is_active + category: invalid_attribute_value + message: Cannot deactivate while a dismissal is scheduled. Use the cancel termination endpoint to remove the pending dismissal first. + contractor_is_active_pending_dismissal_uncancelable: + errors: + - error_key: is_active + category: invalid_attribute_value + message: Cannot deactivate while a non-cancelable dismissal is in progress. The dismissal has already been processed. + contractor_is_active_pending_rehire: + errors: + - error_key: is_active + category: invalid_attribute_value + message: Cannot reactivate while a rehire is scheduled. Use the cancel rehire endpoint to remove the pending rehire first. + contractor_address_invalid_attribute: + errors: + - error_key: street_1 + category: invalid_attribute_value + message: Must include a street address + contractor_payment_invalid_wage: + errors: + - error_key: wage + category: invalid_attribute_value + message: Wage must be greater than or equal to 0. + contractor_payment_cannot_cancel: + errors: + - error_key: base + category: invalid_operation + message: Payment has already been processed and cannot be cancelled. Contact support directly. + contractor_payment_should_not_be_funded: + errors: + - error_key: base + category: invalid_operation + message: This payment should not be funded. + contractor_payments_preview_no_payments: + errors: + - error_key: contractor_payments + category: invalid_attribute_value + message: Please enter a contractor payment before continuing. + ytd_benefit_amounts_invalid_tax_year: + errors: + - error_key: tax_year + category: invalid_attribute_value + message: Tax year must be greater than or equal to 2000 + printable_payroll_checks_invalid_printing_format: + errors: + - error_key: base + category: invalid_attribute_value + message: Invalid printing_format 'bad_name', only 'top' and 'bottom' supported + recovery_case_not_redebitable: + errors: + - error_key: base + category: invalid_operation + message: Unable to initiate another redebit at this time. Please contact support. + recovery_case_exceeded_retries: + errors: + - error_key: base + category: invalid_operation + message: You exceeded the maximum redebit attempts. Please contact support. + report_invalid_columns: + errors: + - error_key: columns + category: invalid_attribute_value + message: 'Invalid column(s): unexpected_column' + general_ledger_invalid_aggregation: + errors: + - error_key: aggregation + category: invalid_attribute_value + message: Invalid aggregation option. + report_template_invalid_report_type: + errors: + - error_key: base + category: invalid_operation + message: Invalid report type + time_sheet_invalid_entries: + errors: + - error_key: entries + category: invalid_attribute_value + message: Entries are invalid + time_sheet_invalid_attribute: + errors: + - error_key: time_zone + category: invalid_attribute_value + message: Time zone is invalid + time_sheet_version_invalid: + errors: + - error_key: version + category: invalid_attribute_value + message: Version 'somefakeversion' does not match the latest version of this object + time_off_request_cannot_delete: + errors: + - error_key: base + category: invalid_operation + message: This time off request cannot be deleted. + time_off_request_cannot_approve: + errors: + - error_key: base + category: invalid_operation + message: Cannot approve this request. + time_off_request_missing_employer_note: + errors: + - error_key: employer_note + category: missing_parameter + message: "'employer_note' is required" + time_off_request_invalid_status_filter: + errors: + - error_key: status + category: invalid_parameter + message: 'Parameter `status` contains invalid value(s): cancelled. Allowed values: pending, approved, declined, consumed.' + resource: + errors: + - error_key: first_name + category: invalid_attribute_value + message: First name is required + - error_key: date_of_birth + category: invalid_attribute_value + message: Date of birth is not a valid date + nested: + errors: + - error_key: contractor_payments + category: nested_errors + metadata: + contractor_uuid: 72ae4617-daa9-4ed7-85e0-18ed5d0ee835 + errors: + - error_key: hours + category: invalid_attribute_value + message: Ella Fitzgerald is paid fixed wage and hours cannot be set on a contractor payment + - error_key: contractor_payments + category: nested_errors + metadata: + contractor_uuid: 2d7bf62c-babf-4a12-8292-340e2d9cab28 + errors: + - error_key: wage + category: invalid_attribute_value + message: Isaiah Berlin is paid hourly and wage cannot be set on a contractor payment + compensation_invalid_rate: + errors: + - error_key: rate + category: invalid_attribute_value + message: Rate is not a valid number + compensation_invalid_payment_unit: + errors: + - error_key: payment_unit + category: invalid_attribute_value + message: Payment unit must be one of Hour, Week, Month, or Year + compensation_already_processed: + errors: + - error_key: base + category: invalid_operation + message: Compensation has already been processed on payroll. + termination_already_terminated: + errors: + - error_key: base + category: invalid_operation + message: Employee may only have one termination + termination_invalid_effective_date: + errors: + - error_key: effective_date + category: invalid_attribute_value + message: Effective date is not a valid date + termination_effective_date_required: + errors: + - error_key: effective_date + category: invalid_attribute_value + message: Effective date is required + termination_already_in_effect: + errors: + - error_key: base + category: invalid_operation + message: Employee has already been terminated + termination_payroll_exists: + errors: + - error_key: base + category: invalid_operation + message: Cannot cancel a termination with a termination payroll + termination_rehired: + errors: + - error_key: base + category: invalid_operation + message: Unable to modify a termination with a future rehire. + job_title_required: + errors: + - error_key: title + category: invalid_attribute_value + message: Title is required + job_primary_cannot_delete: + errors: + - error_key: base + category: invalid_operation + message: Employee's primary job cannot be set to inactive. + job_exempt_multiple_jobs: + errors: + - error_key: base + category: invalid_operation + message: Only hourly employees can have multiple jobs. + job_invalid_hire_date: + errors: + - error_key: hire_date + category: invalid_attribute_value + message: Hire date is invalid + job_duplicate_title: + errors: + - error_key: title + category: invalid_attribute_value + message: Employee cannot have two jobs with the same title. + i9_authorization_unneeded_document_params: + errors: + - error_key: expiration_date + category: invalid_attribute_value + message: For the submitted authorization status, expiration date is not allowed + - error_key: document_type + category: invalid_attribute_value + message: For the submitted authorization status, document type is not allowed + i9_authorization_not_self_onboarding: + errors: + - error_key: base + category: invalid_operation + message: Employee is not self-onboarding. + i9_authorization_employee_already_signed: + errors: + - error_key: base + category: invalid_operation + message: Employee has already signed the form. + i9_employer_sign_invalid_params: + errors: + - error_key: signed_by_ip_address + category: invalid_attribute_value + message: Signed by IP address is invalid + - error_key: signer_title + category: invalid_attribute_value + message: Signer title is required + - error_key: agree + category: invalid_attribute_value + message: You must agree to sign electronically + - error_key: signature_text + category: invalid_attribute_value + message: Signature text is required + i9_employer_sign_employee_not_signed: + errors: + - error_key: base + category: invalid_operation + message: Employee has not signed I-9 + i9_employer_sign_already_signed: + errors: + - error_key: base + category: invalid_operation + message: I-9 has already been signed by the employer + i9_documents_already_signed: + errors: + - error_key: base + category: invalid_operation + message: I-9 cannot be updated as it has already been signed by the employer + i9_documents_invalid_params: + errors: + - error_key: documents + category: nested_errors + metadata: + document_type: invalid_type + errors: + - error_key: document_type + category: invalid_attribute_value + message: Document type's value is not included in the list + - error_key: document_title + category: invalid_attribute_value + message: Document title's value is not included in the list + i9_documents_not_array: + errors: + - error_key: base + category: invalid_operation + message: Parameter `documents` must be an array + company_benefit_missing_benefit_type: + errors: + - error_key: base + category: missing_parameter + message: benefit_type is required. + company_benefit_invalid_benefit_type: + errors: + - error_key: benefit_type + category: invalid_attribute_value + message: Benefit type does not correspond with a supported benefit + company_benefit_missing_description: + errors: + - error_key: description + category: invalid_attribute_value + message: Description is required + company_benefit_cannot_disable: + errors: + - error_key: base + category: invalid_operation + message: Company benefit cannot be disabled while employees are still enrolled + company_benefit_cannot_change_type: + errors: + - error_key: benefit_type + category: invalid_attribute_value + message: The associated benefit cannot be changed + company_benefit_invalid_contribution_exclusions: + errors: + - error_key: contribution_exclusions + category: invalid_attribute_value + message: Expected contribution_exclusions array of hashes. + employee_benefits_invalid_parameter: + errors: + - error_key: employee_benefits + category: invalid_parameter + message: Missing or invalid parameter 'employee_benefits'. + time_off_activity_invalid_type: + errors: + - error_key: base + category: invalid_parameter + message: 'Expected one of: vacation, sick' + employee_benefit_negative_company_contribution: + errors: + - error_key: company_contribution + category: invalid_attribute_value + message: Company contribution must be greater than or equal to 0 + employee_benefit_active_requires_contribution_or_deduction: + errors: + - error_key: base + category: invalid_operation + message: An active employee benefit must have either a company contribution or an employee deduction + employee_benefit_invalid_effective_date: + errors: + - error_key: effective_date + category: invalid_attribute_value + message: Effective date is not a valid date + employee_benefit_duplicate_type: + errors: + - error_key: base + category: invalid_operation + message: Employee cannot have more than one 401(k) + employee_benefit_invalid_limit_option: + errors: + - error_key: limit_option + category: invalid_attribute_value + message: Limit option must be one of "Family", "Individual" + employee_benefit_coverage_amount_only_for_gtl: + errors: + - error_key: coverage_amount + category: invalid_attribute_value + message: Coverage amount is only applicable for group term life employee benefit. + employee_benefit_destroy_invalid: + errors: + - error_key: base + category: invalid_attribute_value + message: An active employee benefit must have either a company contribution or an employee deduction + company_benefit_has_employees: + errors: + - error_key: base + category: invalid_operation + message: There are employees associated with this benefit, please remove these employees before deleting the benefit. + company_benefit_partnered: + errors: + - error_key: base + category: invalid_operation + message: This benefit is managed by the partner and cannot be deleted. + rehire_delete_already_effective: + errors: + - error_key: base + category: invalid_operation + message: Unable to delete the rehire that is already effective, please terminate the employee instead. + rehire_not_terminated: + errors: + - error_key: effective_date + category: invalid_attribute_value + message: Cannot rehire if employee has not been terminated + rehire_missing_required_fields: + errors: + - error_key: effective_date + category: invalid_attribute_value + message: Effective date is required + - error_key: work_location_uuid + category: invalid_attribute_value + message: Work location not found + - error_key: file_new_hire_report + category: invalid_attribute_value + message: File new hire report is required + rehire_invalid_work_location: + errors: + - error_key: work_location_uuid + category: invalid_attribute_value + message: Work location not found + rehire_no_future_employment: + errors: + - error_key: base + category: invalid_operation + message: The employee does not have any future employment, please rehire the employee first. + earning_type_missing_name: + errors: + - error_key: name + category: invalid_attribute_value + message: Name is required + earning_type_duplicate_name: + errors: + - error_key: name + category: invalid_attribute_value + message: There is already an earning called Bonus + department_duplicate_title: + errors: + - error_key: title + category: invalid_attribute_value + message: Department name has already been taken. + department_has_active_members: + errors: + - error_key: base + category: invalid_operation + message: You cannot delete a department that has active team members. Please remove them first. + department_invalid_employees: + errors: + - error_key: employees + category: invalid_attribute_value + message: Employees must be valid + - error_key: contractors + category: invalid_attribute_value + message: Contractors must be valid + form_already_signed: + errors: + - error_key: base + category: invalid_operation + message: This form has already been signed + form_no_signature_required: + errors: + - error_key: base + category: invalid_operation + message: This form does not require a signature + form_invalid_ip_address: + errors: + - error_key: signed_by_ip_address + category: invalid_attribute_value + message: Signed by ip address is invalid + form_preparer_not_supported: + errors: + - error_key: base + category: invalid_operation + message: This form does not allow preparer information + invoice_period_invalid_format: + errors: + - error_key: base + category: invalid_parameter + message: Invalid invoice_period param format, should be 'YYYY-MM' + invoice_period_future: + errors: + - error_key: base + category: invalid_parameter + message: Invalid invoice_period param, cannot be a future invoice period + invoice_company_uuids_max_exceeded: + errors: + - error_key: base + category: invalid_parameter + message: Invalid company_uuids passed, max of 50 + wire_in_request_invalid_date_sent: + errors: + - error_key: date_sent + category: invalid_attribute_value + message: Date sent must be a valid date + wire_in_request_missing_bank_name: + errors: + - error_key: bank_name + category: invalid_attribute_value + message: Bank name must be present + wire_in_request_invalid_amount_sent: + errors: + - error_key: amount_sent + category: invalid_attribute_value + message: Amount sent must be a number + wire_in_request_additional_notes_too_long: + errors: + - error_key: additional_notes + category: invalid_attribute_value + message: Additional notes must be less than 255 characters + wire_in_request_not_awaiting_funds: + errors: + - error_key: base + category: invalid_operation + message: Wire in request status must be awaiting funds + external_payroll_missing_check_date: + errors: + - error_key: check_date + category: invalid_attribute_value + message: Check date is required + external_payroll_missing_payment_period_dates: + errors: + - error_key: payment_period_start_date + category: invalid_attribute_value + message: Payment period start date is required + - error_key: payment_period_end_date + category: invalid_attribute_value + message: Payment period end date is required + external_payroll_net_pay_less_than_zero: + errors: + - error_key: base + category: invalid_attribute_value + message: Net pay less than zero for one or more external payroll items + external_payroll_invalid_payroll_item: + errors: + - error_key: base + category: invalid_operation + message: Invalid payload or parameters + external_payrolls_locked: + errors: + - error_key: base + category: invalid_operation + message: External Payrolls have already been finalized or a payroll has already been processed. + employee_bank_account_destroy_invalid: + errors: + - error_key: base + category: invalid_attribute_value + message: Cannot delete this bank account. + external_payroll_invalid_liability_selection: + errors: + - error_key: tax_id + category: invalid_attribute_value + message: Tax is required + invalid_tax_liability_selection: + errors: + - error_key: tax_id + category: invalid_attribute_value + message: Tax is required + external_payroll_invalid_tax_liability_selections: + errors: + - error_key: tax_id + category: invalid_attribute_value + message: Tax liability selections are not valid + x-speakeasy-name-override: UnprocessableEntityError + Entity-Error-Object: + type: object + required: + - error_key + - category + properties: + error_key: + type: string + description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. + category: + type: string + description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. If category is `nested_errors`, the object will contain a nested `errors` property with entity errors. + message: + type: string + description: Provides details about the error - generally this message can be surfaced to an end user. + metadata: + type: object + description: Contains relevant data to identify the resource in question when applicable. For example, to identify an entity `entity_type` and `entity_uuid` will be provided. + oneOf: + - "$ref": "#/components/schemas/Metadata-With-Multiple-Entities" + - "$ref": "#/components/schemas/Metadata-With-One-Entity" + errors: + type: array + description: Will only exist if category is `nested_errors`. It is possible to have multiple levels of nested errors. + items: + "$ref": "#/components/schemas/Entity-Error-Object" + Metadata-With-One-Entity: + type: object + description: single entity + additionalProperties: true + properties: + entity_type: + type: string + description: Name of the entity that the error corresponds to. + entity_uuid: + type: string + description: Unique identifier for the entity. + valid_from: + type: + - string + - 'null' + valid_up_to: + type: + - string + - 'null' + key: + type: + - string + - 'null' + state: + type: + - string + - 'null' + Metadata-With-Multiple-Entities: + type: object + description: multiple entities + required: + - entities + properties: + entities: + type: array + items: + "$ref": "#/components/schemas/Metadata-With-One-Entity" + Employee: + title: Employee + type: object + description: The representation of an employee in Gusto. + x-examples: + success_status: + uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + first_name: Boaty + middle_initial: + last_name: Koss + email: keena.feest@kiehn.co.uk + company_uuid: e904cc79-818a-4da8-9d37-0be0a86fdda8 + manager_uuid: + version: a5cec1f1c0135feb3e76ca6ea3c46176 + current_employment_status: full_time + onboarding_status: onboarding_completed + preferred_first_name: + department_uuid: + employee_code: 46f036 + payment_method: Direct Deposit + department: + terminated: false + two_percent_shareholder: false + onboarded: true + historical: false + has_ssn: true + onboarding_documents_config: + uuid: + i9_document: false + jobs: + - uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + version: 863bcd01c51fcfa2468d604cffec7413 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + current_compensation_uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + payment_unit: Year + primary: true + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + title: '' + compensations: + - uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + version: db7bfb49a4f0893432cb562311bfcad9 + payment_unit: Year + flsa_status: Exempt + adjust_for_minimum_wage: false + minimum_wages: [] + job_uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + effective_date: '2025-06-09' + rate: '80000.00' + rate: '80000.00' + hire_date: '2024-06-09' + eligible_paid_time_off: [] + terminations: [] + garnishments: [] + date_of_birth: '2005-06-09' + ssn: '' + phone: + work_email: + member_portal_invitation_status: + status: sent + token_expired: false + welcome_email_sent_at: '2024-01-15T14:30:00Z' + last_password_resent_at: + partner_portal_invitation_sent: true + properties: + uuid: + type: string + description: The UUID of the employee in Gusto. + readOnly: true + first_name: + type: string + middle_initial: + type: + - string + - 'null' + last_name: + type: string + email: + type: + - string + - 'null' + description: The personal email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). company_uuid: - name: company_uuid - in: path - required: true - schema: - type: string - description: The UUID of the company - contractor_uuid: - name: contractor_uuid - in: path - required: true - schema: - type: string - description: The UUID of the contractor - contractor_payment_id: - name: contractor_payment_id - in: path - required: true - schema: - type: string - description: The UUID of the contractor payment - contractor_payment_uuid: - name: contractor_payment_uuid - in: path - required: true - schema: - type: string - description: The UUID of the contractor payment - contractor_payment_group_uuid: - name: contractor_payment_group_uuid - in: path - required: true - schema: - type: string - description: The UUID of the contractor payment group + type: string + description: The UUID of the company the employee is employed by. + readOnly: true + manager_uuid: + type: + - string + - 'null' + description: The UUID of the employee's manager. + readOnly: true + version: + type: string + description: The current version of the employee. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + readOnly: true + department: + type: + - string + - 'null' + description: The employee's department in the company. + readOnly: true + terminated: + type: boolean + description: Whether the employee is terminated. + readOnly: true + two_percent_shareholder: + type: + - boolean + - 'null' + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + work_email: + type: + - string + - 'null' + description: The work email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). + onboarded: + type: boolean + description: Whether the employee has completed onboarding. + readOnly: true + onboarding_status: + description: The current onboarding status of the employee + anyOf: + - type: string + enum: + - onboarding_completed + - admin_onboarding_incomplete + - self_onboarding_pending_invite + - self_onboarding_invited + - self_onboarding_invited_started + - self_onboarding_invited_overdue + - self_onboarding_completed_by_employee + - self_onboarding_awaiting_admin_review + - type: 'null' + readOnly: true + onboarding_documents_config: + type: object + description: Configuration for an employee onboarding documents during onboarding + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the onboarding documents config + readOnly: true + i9_document: + type: boolean + description: Whether to include Form I-9 for an employee during onboarding + readOnly: true + jobs: + type: array + items: + "$ref": "#/components/schemas/Job" + eligible_paid_time_off: + type: array + items: + "$ref": "#/components/schemas/Paid-Time-Off" + terminations: + type: array + items: + "$ref": "#/components/schemas/Termination" + garnishments: + type: array + items: + "$ref": "#/components/schemas/Garnishment" + custom_fields: + type: array + description: Custom fields are only included for the employee if the include param has the custom_fields value set + items: + "$ref": "#/components/schemas/Employee-Custom-Field" + date_of_birth: + type: + - string + - 'null' + readOnly: true + has_ssn: + type: boolean + description: Indicates whether the employee has an SSN in Gusto. + ssn: + type: string + description: Deprecated. This field always returns an empty string. + phone: + type: + - string + - 'null' + preferred_first_name: + type: + - string + - 'null' + description: '' + payment_method: + type: string + description: The employee's payment method + enum: + - Direct Deposit + - Check + default: Check + nullable: false + current_employment_status: + anyOf: + - type: string + enum: + - full_time + - part_time_under_twenty_hours + - part_time_twenty_plus_hours + - variable + - seasonal + - type: 'null' + description: 'The current employment status of the employee. Full-time employees work 30+ hours per week. Part-time employees are split into two groups: those that work 20-29 hours a week, and those that work under 20 hours a week. Variable employees have hours that vary each week. Seasonal employees are hired for 6 months of the year or less.' + readOnly: true + historical: + type: boolean + nullable: false + employee_code: + type: string + description: The short format code of the employee + nullable: false + readOnly: true department_uuid: - name: department_uuid - in: path - required: true - schema: + type: + - string + - 'null' + description: The UUID of the department the employee is under + title: + type: string + nullable: false + hired_at: + type: string + nullable: false + format: date + description: The date when the employee was hired to the company + hidden_ssn: + type: string + nullable: false + flsa_status: + "$ref": "#/components/schemas/Flsa-Status-Type" + applicable_tax_ids: + type: array + nullable: false + items: + type: number + member_portal_invitation_status: + type: + - object + - 'null' + description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. + properties: + status: + type: string + description: The current status of the member portal invitation. + enum: + - pending + - sent + - verified + - complete + - cancelled + token_expired: + type: + - boolean + - 'null' + description: Whether the invitation token has expired. + welcome_email_sent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the welcome email was sent. + last_password_resent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the password reset was last resent. + partner_portal_invitation_sent: + type: + - boolean + - 'null' + description: Whether an external partner portal invitation webhook has been sent for this employee. Only included when the include param has the portal_invitations value set. + required: + - uuid + - first_name + - last_name + readOnly: true + Job: + title: Job + type: object + properties: + uuid: + type: string + description: The UUID of the job. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee to which the job belongs. + readOnly: true + hire_date: + type: string + readOnly: false + description: The date when the employee was hired or rehired for the job. + title: + type: + - string + - 'null' + readOnly: false + default: + description: The title for the job. + primary: + type: boolean + description: Whether this is the employee's primary job. The value will be set to true unless an existing job exists for the employee. + readOnly: true + rate: + type: string + description: The employee's pay rate for this job (e.g., hourly wage or annual salary). This is sensitive compensation data and requires the `compensations:read` scope. + readOnly: true + payment_unit: + type: + - string + - 'null' + description: How the employee is paid for this job (e.g., Hour, Week, Month, Year, Paycheck). This is sensitive compensation data and requires the `compensations:read` scope. + readOnly: true + current_compensation_uuid: + type: string + description: The UUID of the current active compensation record for this job. Requires the `compensations:read` scope. + readOnly: true + two_percent_shareholder: + type: boolean + description: Whether the employee owns at least 2% of the company. + readOnly: false + state_wc_covered: + type: + - boolean + - 'null' + description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). + readOnly: false + state_wc_class_code: + type: + - string + - 'null' + description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. + readOnly: false + compensations: + type: array + description: The compensation history for this job, including pay rate, payment unit, FLSA status, and effective dates. This is sensitive pay information and requires the `compensations:read` scope. + items: + "$ref": "#/components/schemas/Compensation" + readOnly: true + location_uuid: + type: string + nullable: false + description: The uuid of the employee's work location. + location: + "$ref": "#/components/schemas/Location" + description: The representation of a job in Gusto. + required: + - uuid + x-examples: + example: + uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 + version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + hire_date: '2020-01-20' + title: Account Director + primary: true + rate: '78000.00' + payment_unit: Year + current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + compensations: + - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a + version: 98jr3289h3298hr9329gf9egskt3tjaj + job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + rate: '78000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2020-01-20' + adjust_for_minimum_wage: false + minimum_wages: [] + secondary_job: + uuid: a1b2c3d4-5678-9012-abcd-ef1234567890 + version: hj29fh3298hf9832hf98h32f89h32f89h32f9832 + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + hire_date: '2020-01-20' + title: Senior Consultant + primary: false + rate: '25.00' + payment_unit: Hour + current_compensation_uuid: b2c3d4e5-6789-0123-bcde-f12345678901 + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + compensations: + - uuid: b2c3d4e5-6789-0123-bcde-f12345678901 + version: 93jr2398h23r9832rg9832rg98ewrg98e + job_uuid: a1b2c3d4-5678-9012-abcd-ef1234567890 + employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 + rate: '25.00' + payment_unit: Hour + flsa_status: Nonexempt + effective_date: '2020-01-20' + adjust_for_minimum_wage: false + minimum_wages: [] + Jobs-Body: + type: object + properties: + title: + type: + - string + - 'null' + description: The job title. + example: Regional Manager + hire_date: + type: string + description: The date when the employee was hired or rehired for the job. + example: '2020-12-21' + two_percent_shareholder: + type: boolean + description: Whether the employee owns at least 2% of the company. + state_wc_covered: + type: + - boolean + - 'null' + description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). + state_wc_class_code: + type: + - string + - 'null' + description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. + Jobs-Create-Request-Body: + description: Request body for creating a job. + type: object + required: + - title + - hire_date + allOf: + - "$ref": "#/components/schemas/Jobs-Body" + x-examples: + create_job: + title: Regional Manager + hire_date: '2020-12-21' + two_percent_shareholder: false + Jobs-Update-Request-Body: + description: Request body for updating a job. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Jobs-Body" + x-examples: + update_job: + version: gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir + title: Regional Manager + hire_date: '2020-12-21' + Compensation: + type: object + description: The representation of compensation in Gusto. + properties: + uuid: + type: string + description: The UUID of the compensation in Gusto. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + job_uuid: + type: string + description: The UUID of the job to which the compensation belongs. + readOnly: true + employee_uuid: + type: string + description: The UUID of the employee to which the compensation belongs. + readOnly: true + rate: + type: string + readOnly: false + description: The dollar amount paid per payment unit. + payment_unit: + type: string + readOnly: false + description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. + enum: + - Hour + - Week + - Month + - Year + - Paycheck + flsa_status: + "$ref": "#/components/schemas/Flsa-Status-Type" + title: + type: string + description: The job title for this compensation. + effective_date: + type: string + readOnly: false + description: The effective date for this compensation. For the first compensation, this defaults to the job's hire date. + adjust_for_minimum_wage: + type: boolean + description: Indicates if the compensation could be adjusted to minimum wage during payroll calculation. + readOnly: true + minimum_wages: + type: array + readOnly: false + description: The minimum wages associated with the compensation. + items: + type: object + properties: + uuid: type: string - description: The UUID of the department - document_id: - name: document_id - in: path - required: true - schema: + description: The UUID of the minimum wage. + wage: type: string - description: The UUID of the document - earning_type_uuid: - schema: + description: The wage amount. + effective_date: type: string - name: earning_type_uuid - in: path - required: true - description: The UUID of the earning type + description: The effective date of the minimum wage. + required: + - uuid + x-examples: + success_status: + uuid: db4d41e5-813c-477e-bfae-38da2ae5e7a3 + version: 56d00c178bc7393b2a206ed6a86afcb4 + job_uuid: c1fdb417-c34a-43a7-92f3-5e6c20c1d7a4 + employee_uuid: a7e8f9bc-0d12-4e56-b789-012345678901 + rate: '70000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2023-01-01' + adjust_for_minimum_wage: false + minimum_wages: [] + title: Software Engineer + hourly_compensation: + uuid: e5f6a7b8-c9d0-1234-e5f6-a7b8c9d01234 + version: 98b7a6c5d4e3f2a1b0c9d8e7f6a5b4c3 + job_uuid: d2e5f8a1-b4c7-4d90-a3e6-f9b2c5d8e1a4 + employee_uuid: b8f9a0bc-1e23-4f67-c890-123456789012 + rate: '25.00' + payment_unit: Hour + flsa_status: Nonexempt + effective_date: '2023-01-01' + adjust_for_minimum_wage: false + minimum_wages: [] + title: Associate + minimum_wage_adjusted: + uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a + version: cc59bd3879d655fb940a1f6b675f2ad9 + job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 + rate: '5.00' + payment_unit: Hour + flsa_status: Nonexempt + effective_date: '2018-12-11' + adjust_for_minimum_wage: true + minimum_wages: + - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 + wage: '7.25' + effective_date: '2018-12-11' + Compensations-Body: + type: object + properties: + rate: + type: string + description: The dollar amount paid per payment unit. + example: '70000.00' + payment_unit: + type: string + description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. + enum: + - Hour + - Week + - Month + - Year + - Paycheck + example: Year + flsa_status: + "$ref": "#/components/schemas/Flsa-Status-Type" effective_date: - in: query - name: effective_date - required: false - schema: - type: string - example: '2020-01-31' - employee_benefit_id: - name: employee_benefit_id - in: path - required: true - schema: - type: string - description: The UUID of the employee benefit. - employee_id: - name: employee_id - in: path - required: true - schema: + type: string + description: The effective date for this compensation. + example: '2023-01-01' + title: + type: string + description: The job title for this compensation. + example: Software Engineer + adjust_for_minimum_wage: + type: boolean + description: Whether the compensation should be adjusted to minimum wage during payroll calculation. + minimum_wages: + type: array + items: + type: object + properties: + uuid: type: string - description: The UUID of the employee + description: The UUID of the minimum wage. + Compensations-Request-Body: + description: Request body for creating a compensation. + type: object + required: + - rate + - payment_unit + - flsa_status + allOf: + - "$ref": "#/components/schemas/Compensations-Body" + x-examples: + create_compensation: + rate: '70000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2023-01-01' + title: Software Engineer + Compensations-Update-Request-Body: + description: Request body for updating a compensation. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Compensations-Body" + x-examples: + update_compensation: + version: b48c46abfed1487b873b442334b3c4ff + rate: '75000.00' + payment_unit: Year + flsa_status: Exempt + effective_date: '2023-01-01' + title: Senior Engineer + Paid-Time-Off: + type: object + description: The representation of paid time off in Gusto. + properties: + name: + description: The name of the paid time off type. + anyOf: + - type: string + enum: + - Vacation Hours + - Sick Hours + - Holiday Hours + - type: 'null' + readOnly: true + policy_name: + type: + - string + - 'null' + description: The name of the time off policy. + readOnly: true + policy_uuid: + type: + - string + - 'null' + description: The UUID of the time off policy. + readOnly: true + accrual_unit: + type: + - string + - 'null' + example: Hour + description: The unit the PTO type is accrued in. + readOnly: true + accrual_rate: + type: + - string + - 'null' + description: The number of accrual units accrued per accrual period. + readOnly: true + accrual_method: + type: + - string + - 'null' + example: unlimited + description: The accrual method of the time off policy + readOnly: true + accrual_period: + type: + - string + - 'null' + example: Year + description: The frequency at which the PTO type is accrued. + readOnly: true + accrual_balance: + type: + - string + - 'null' + description: The number of accrual units accrued. + readOnly: true + maximum_accrual_balance: + type: + - string + - 'null' + description: The maximum number of accrual units allowed. A null value signifies no maximum. + readOnly: true + paid_at_termination: + type: boolean + description: Whether the accrual balance is paid to the employee upon termination. + readOnly: true + Termination: + type: object + description: The representation of a termination in Gusto. + properties: + uuid: + type: string + description: The UUID of the termination object. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. employee_uuid: - name: employee_uuid - in: path - required: true - schema: + type: string + description: The UUID of the employee to which this termination is attached. + readOnly: true + active: + type: boolean + description: Whether the employee's termination has gone into effect. + readOnly: true + cancelable: + type: boolean + description: Whether the employee's termination is cancelable. Cancelable is true if `run_termination_payroll` is false and `effective_date` is in the future. + readOnly: true + effective_date: + type: string + readOnly: false + description: The employee's last day of work. + run_termination_payroll: + type: boolean + readOnly: false + description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + required: + - uuid + x-examples: + terminated_employee: + uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + version: d487dd0b55dfcacdd920ccbdaeafa351 + active: true + cancelable: false + effective_date: '2024-01-15' + run_termination_payroll: false + cancelable_termination: + uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 + version: d487dd0b55dfcacdd920ccbdaeafa351 + active: false + cancelable: true + effective_date: '2024-06-15' + run_termination_payroll: false + Garnishment: + description: Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + type: object + properties: + uuid: + type: string + description: The UUID of the garnishment in Gusto. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee to which this garnishment belongs. + readOnly: true + active: + type: boolean + default: true + description: Whether or not this garnishment is currently active. + amount: + type: string + format: float + readOnly: false + description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". + description: + type: string + readOnly: false + description: The description of the garnishment. + court_ordered: + type: boolean + readOnly: false + description: Whether the garnishment is court ordered. + times: + type: + - integer + - 'null' + readOnly: false + default: + description: The number of times to apply the garnishment. Ignored if recurring is true. + recurring: + type: boolean + readOnly: false + default: false + description: Whether the garnishment should recur indefinitely. + annual_maximum: + format: float + readOnly: false + default: + description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". + type: + - string + - 'null' + total_amount: + type: + - string + - 'null' + format: float + readOnly: false + default: + description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. + pay_period_maximum: + type: + - string + - 'null' + format: float + default: + description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". + deduct_as_percentage: + type: boolean + readOnly: false + default: false + description: Whether the amount should be treated as a percentage to be deducted per pay period. + garnishment_type: + anyOf: + - type: string + enum: + - child_support + - federal_tax_lien + - state_tax_lien + - student_loan + - creditor_garnishment + - federal_loan + - other_garnishment + - type: 'null' + description: The specific type of garnishment for court ordered garnishments. + child_support: + "$ref": "#/components/schemas/Garnishment-Child-Support" + required: + - uuid + x-examples: + Example: + uuid: 4c7841a2-1363-497e-bc0f-664703c7484f + version: 52b7c567242cb7452e89ba2bc02cb476 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '8.00' + description: Company loan to employee + court_ordered: false + times: 5 + recurring: false + annual_maximum: + total_amount: + pay_period_maximum: '100.00' + deduct_as_percentage: true + garnishment_type: + child_support: + Create-Example: + uuid: 4c7841a2-1363-497e-bc0f-664703c7484f + version: 52b7c567242cb7452e89ba2bc02cb476 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '150.00' + description: Back taxes + court_ordered: true + times: + recurring: true + annual_maximum: + total_amount: + pay_period_maximum: + deduct_as_percentage: false + garnishment_type: + child_support: + Child-Support-Example: + uuid: 4c7841a2-1363-497e-bc0f-664703c7481a + version: 52b7c567242cb7452e89ba2bc02cb383 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '40.00' + description: Child support - AZ28319 + court_ordered: true + times: + recurring: true + annual_maximum: + total_amount: + pay_period_maximum: '400.00' + deduct_as_percentage: true + garnishment_type: child_support + child_support: + state: AZ + payment_period: Monthly + case_number: AZ28319 + order_number: + remittance_number: + fips_code: '04000' + Garnishment-List: + - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f + version: 52b7c567242cb7452e89ba2bc02cb476 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '8.00' + description: Company loan to employee + court_ordered: false + times: 5 + recurring: false + annual_maximum: + total_amount: + pay_period_maximum: '100.00' + deduct_as_percentage: true + garnishment_type: + child_support: + - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a + version: 52b7c567242cb7452e89ba2bc02cb383 + employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 + active: true + amount: '40.00' + description: Child support - AZ28319 + court_ordered: true + times: + recurring: true + annual_maximum: + total_amount: + pay_period_maximum: '400.00' + deduct_as_percentage: true + garnishment_type: child_support + child_support: + state: AZ + payment_period: Monthly + case_number: AZ28319 + order_number: + remittance_number: + fips_code: '04000' + Garnishment-Request-Base: + type: object + description: Shared request body properties for creating or updating a garnishment. + properties: + active: + type: boolean + default: true + description: Whether or not this garnishment is currently active. + amount: + type: string + format: float + readOnly: false + description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". + description: + type: string + readOnly: false + description: The description of the garnishment. + court_ordered: + type: boolean + readOnly: false + description: Whether the garnishment is court ordered. + garnishment_type: + description: The specific type of garnishment for court ordered garnishments. + anyOf: + - type: string + enum: + - child_support + - federal_tax_lien + - state_tax_lien + - student_loan + - creditor_garnishment + - federal_loan + - other_garnishment + - type: 'null' + readOnly: false + times: + type: + - integer + - 'null' + readOnly: false + default: + description: The number of times to apply the garnishment. Ignored if recurring is true. + recurring: + type: boolean + readOnly: false + default: false + description: Whether the garnishment should recur indefinitely. + annual_maximum: + format: float + readOnly: false + default: + type: + - string + - 'null' + description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". + pay_period_maximum: + type: + - string + - 'null' + format: float + default: + description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". + deduct_as_percentage: + type: boolean + readOnly: false + default: false + description: Whether the amount should be treated as a percentage to be deducted per pay period. + total_amount: + type: + - string + - 'null' + format: float + readOnly: false + description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. + child_support: + "$ref": "#/components/schemas/Garnishment-Child-Support" + x-examples: + Example: + amount: '50.00' + annual_maximum: '2500.09' + recurring: true + Deactivate-Example: + active: false + Child-Support-Example: + amount: '40' + child_support: + case_number: ZZZ999 + Garnishment-Request: + description: Request body for creating a garnishment. + allOf: + - "$ref": "#/components/schemas/Garnishment-Request-Base" + - type: object + required: + - amount + - court_ordered + x-examples: + Example: + amount: '150.00' + description: Back taxes + court_ordered: true + recurring: true + deduct_as_percentage: false + Child-Support-Example: + court_ordered: true + garnishment_type: child_support + amount: '40' + recurring: true + deduct_as_percentage: true + pay_period_maximum: '500.00' + child_support: + state: FL + fips_code: '12011' + payment_period: Monthly + case_number: CS1234 + Update-Garnishment-Request: + description: Request body for updating a garnishment. + allOf: + - "$ref": "#/components/schemas/Garnishment-Request-Base" + - "$ref": "#/components/schemas/Versionable-Required" + Garnishment-Child-Support: + description: Additional child support order details + type: + - object + - 'null' + properties: + state: + type: string + readOnly: false + description: The two letter state abbreviation for the state issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. + payment_period: + type: string + readOnly: false + enum: + - Every week + - Every other week + - Twice per month + - Monthly + description: How often the agency collects the withholding amount. e.g. $500 monthly -> `Monthly`. + fips_code: + type: string + description: The FIPS code associated with the state or county agency issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. + nullable: false + readOnly: false + case_number: + type: + - string + - 'null' + readOnly: false + description: Child Support Enforcement Case Number associated with this child support obligation - required for most states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. + order_number: + type: + - string + - 'null' + readOnly: false + description: Order Identifier or Order ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. + remittance_number: + type: + - string + - 'null' + readOnly: false + description: Child Support Enforcement Remittance ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. + Employee-Custom-Field: + type: object + description: A custom field of an employee + properties: + id: + type: string + company_custom_field_id: + type: string + description: This is the id of the response object from when you get the company custom fields + name: + type: string + type: + "$ref": "#/components/schemas/Custom-Field-Type" + description: + type: + - string + - 'null' + value: + type: string + selection_options: + type: + - array + - 'null' + description: An array of options for fields of type radio. Otherwise, null. + items: + type: string + required: + - id + - company_custom_field_id + - name + - type + - value + x-examples: + example_text_field: + id: ee515986-f3ca-49da-b576-2691b95262f9 + company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 + name: employee_level + description: Employee Level + type: text + value: '2' + selection_options: + example_radio_field: + id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 + company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 + name: favorite fruit + description: Which is your favorite fruit? + type: radio + value: apple + selection_options: + - apple + - banana + - orange + Employee-Custom-Field-List: + type: object + description: A list of an employee's custom fields + properties: + custom_fields: + type: array + items: + "$ref": "#/components/schemas/Employee-Custom-Field" + x-examples: + example: + custom_fields: + - id: ee515986-f3ca-49da-b576-2691b95262f9 + company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 + name: employee_level + description: Employee Level + type: text + value: '2' + selection_options: + - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 + company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 + name: favorite fruit + description: Which is your favorite fruit? + type: radio + value: apple + selection_options: + - apple + - banana + - orange + Custom-Field-Type: + type: string + description: Input type for the custom field. + enum: + - text + - currency + - number + - date + - radio + Employment-History-List: + type: array + x-examples: + success_status: + - hire_date: '2015-06-09' + termination_date: '2025-05-09' + file_new_hire_report: false + two_percent_shareholder: false + employment_status: full_time + items: + description: The representation of an employee's individual employements. + type: object + properties: + hire_date: + type: string + description: The employee's start day of work for an employment. + termination_date: + type: + - string + - 'null' + description: The employee's last day of work for an employment. + file_new_hire_report: + type: boolean + description: The boolean flag indicating whether Gusto will file a new hire report for the employee. + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + employment_status: + type: string + description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. + enum: + - part_time + - full_time + - part_time_eligible + - variable + - seasonal - not_set + Employee-Onboarding-Status: + description: The representation of an employee's onboarding status. + type: object + title: Employee-Onboarding-Status + x-examples: + success_status: + uuid: 8351cf2a-17cb-49e3-94a7-9986dcb11e84 + onboarding_status: onboarding_completed + onboarding_steps: + - title: Personal details + id: personal_details + required: true + completed: true + requirements: [] + - title: Enter compensation details + id: compensation_details + required: true + completed: true + requirements: [] + - title: Add work address + id: add_work_address + required: true + completed: true + requirements: [] + - title: Add home address + id: add_home_address + required: true + completed: true + requirements: [] + - title: Enter federal tax withholdings + id: federal_tax_setup + required: true + completed: true + requirements: [] + - title: Enter state tax information + id: state_tax_setup + required: true + completed: false + requirements: + - add_work_address + - add_home_address + - title: Direct deposit setup + id: direct_deposit_setup + required: false + completed: true + requirements: [] + - title: Employee form signing + id: employee_form_signing + required: true + completed: false + requirements: + - federal_tax_setup + - state_tax_setup + - title: File new hire report + id: file_new_hire_report + required: true + completed: false + requirements: + - add_work_address + properties: + uuid: + type: string + description: Unique identifier for this employee. + onboarding_status: + type: string + description: One of the "onboarding_status" enum values. + onboarding_steps: + type: array + description: List of steps required to onboard an employee. + items: + title: Onboarding step + type: object + properties: + title: type: string - description: The UUID of the employee - sort_order: - name: sort_order - in: query - required: false - schema: + description: User-friendly description of the onboarding step. + id: type: string - example: asc - enum: - - asc - - desc - description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. - event_type: - name: event_type - in: query - required: false - schema: + description: String identifier for the onboarding step. + required: + type: boolean + description: When true, this step is required. + completed: + type: boolean + description: When true, this step has been completed. + requirements: + type: array + description: A list of onboarding steps required to begin this step. + items: + type: string + required: + - uuid + Flsa-Status-Type: + type: string + enum: + - Exempt + - Salaried Nonexempt + - Nonexempt + - Owner + - Commission Only Exempt + - Commission Only Nonexempt + description: 'The FLSA status for this compensation. Salaried (''Exempt'') employees are paid a fixed salary every pay period. Salaried with overtime (''Salaried Nonexempt'') employees are paid a fixed salary every pay period, and receive overtime pay when applicable. Hourly (''Nonexempt'') employees are paid for the hours they work, and receive overtime pay when applicable. Commissioned employees (''Commission Only Exempt'') earn wages based only on commission. Commissioned with overtime (''Commission Only Nonexempt'') earn wages based on commission, and receive overtime pay when applicable. Owners (''Owner'') are employees that own at least twenty percent of the company. ' + Employee-Pay-Stubs-List: + type: array + x-examples: + success_status: + - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 + check_date: '2023-11-24' + gross_pay: '880.0' + net_pay: '541.02' + payroll_uuid: a039cafb-745e-4af4-bf1e-935a86fc18e0 + check_amount: '500.2' + payment_method: Direct Deposit + items: + description: The representation of an employee pay stub information. + type: object + properties: + uuid: + type: string + description: The UUID of the employee pay stub. + readOnly: true + check_date: + type: string + description: The check date of the pay stub. + readOnly: true + gross_pay: + type: string + description: The gross pay amount for the pay stub. + readOnly: true + net_pay: + type: string + description: The net pay amount for the pay stub. + readOnly: true + payroll_uuid: + type: string + description: A unique identifier of the payroll to which the pay stub belongs. + readOnly: true + check_amount: + type: string + description: The check amount for the pay stub. + readOnly: true + payment_method: + type: string + description: The payment method for the pay stub. + enum: + - Direct Deposit + - Check + readOnly: true + x-tags: + - Payrolls + required: + - uuid + Company-Address: + description: The representation of a company's address in Gusto. + type: object + properties: + street_1: + type: string + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: string + readOnly: false + state: + type: string + readOnly: false + zip: + type: string + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: false + default: USA + inactive: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + Employee-Work-Addresses-List: + type: array + x-examples: + success_status: + - uuid: '080b6254-ce7c-411f-9f7d-5a3ce3c51154' + employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf + location_uuid: 9ccfade8-82ee-490c-8711-5c0787bccde8 + effective_date: '2021-01-01' + active: false + version: 3097e9d0efb09ba2e00a8988a93b3091 + street_1: 91678 Farrell Meadow + street_2: Apt. 835 + city: Phoenix + state: AZ + zip: '85016' + country: USA + - uuid: 35d62f15-75da-45aa-9c97-adc57342b925 + employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf + location_uuid: 10330fe8-36ef-4713-aa59-9f8a432abd13 + effective_date: '2022-01-01' + active: false + version: 5f48ce54afed81bb11dd89461bd0e214 + street_1: 800 Adolfo Gardens + street_2: Suite 419 + city: Bremen + state: AL + zip: '35033' + country: USA + - uuid: 3f3ceaba-6b57-4039-a31a-0004bef83c6f + employee_uuid: 6747692e-d2c8-4472-9c5e-183c65404fbf + location_uuid: 98383e91-c67d-4b69-a617-5a57f91da48c + effective_date: '2023-01-01' + active: true + version: a8a78c851337676137e22caf56ffe5b5 + street_1: 2216 Icie Villages + street_2: Apt. 798 + city: Big Delta + state: AK + zip: '99737' + country: USA + items: + "$ref": "#/components/schemas/Employee-Work-Address" + Employee-Work-Address: + type: object + x-examples: + success_status: + uuid: 64ee5fd7-3eb2-4083-883c-95e93e181cc8 + employee_uuid: d773461f-848a-40a1-8f09-b2ee4249d5c7 + location_uuid: 733ab2af-9510-408f-8d20-09196967174f + effective_date: '2020-01-31' + active: true + version: 3879823d440f3a3215d129ac73c58966 + street_1: 977 Marks Viaduct + street_2: Apt. 958 + city: Pink Hill + state: NC + zip: '28572' + country: USA + properties: + uuid: + type: string + readOnly: true + description: The unique identifier of this work address. + effective_date: + type: string + description: The date the employee began working at this location. + active: + type: boolean + readOnly: true + description: Signifies if this address is the active work address for the current date + location_uuid: + type: string + description: UUID reference to the company location for this work address. + employee_uuid: + type: string + description: UUID reference to the employee for this work address. + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + street_1: + type: string + readOnly: true + street_2: + type: + - string + - 'null' + readOnly: true + city: + type: string + readOnly: true + state: + type: string + readOnly: true + zip: + type: string + readOnly: true + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: true + default: USA + required: + - uuid + - version + Employee-Address-List: + type: array + x-examples: + success_status: + - uuid: d6b7472f-bb55-41ca-a55c-9adbd3c64e09 + version: 7eee445be93fc50fd3cbb55b8d943fb3 + employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd + street_1: 3121 Milky Way + street_2: '' + city: San Francisco + state: CA + zip: '94107' + country: USA + active: false + effective_date: '2024-06-09' + courtesy_withholding: false + - uuid: 1b59a593-d324-4d97-9296-99ecc95f81d1 + version: 5147ad755821c4ba3dbc3afa1055ff4d + employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd + street_1: 3624 Victoria Ln + street_2: '' + city: Cincinnati + state: OH + zip: '45208' + country: USA + active: true + effective_date: '2025-05-26' + courtesy_withholding: false + - uuid: 69489b54-976d-4027-8b51-702e5c8c62d3 + version: f0765fa5a85f62723320763494a481a6 + employee_uuid: d1a166b4-79b4-413f-b067-27534ec59ecd + street_1: Main st. + street_2: '' + city: New York + state: NY + zip: '10011' + country: USA + active: false + effective_date: '2025-07-09' + courtesy_withholding: false + items: + "$ref": "#/components/schemas/Employee-Address" + Employee-Address: + type: object + x-examples: + success_status: + uuid: 700af712-62ba-4dff-824f-97a3c6fda416 + version: 6c3c23e4cc840bd3f1416f72b5380eff + employee_uuid: 78d20691-f1b4-4f74-bc4c-1d4db0099b00 + street_1: 3121 Milky Way + street_2: '' + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + effective_date: '1970-01-01' + courtesy_withholding: false + properties: + uuid: + type: string + description: The UUID of the employee address + employee_uuid: + type: string + description: The UUID of the employee + effective_date: + type: string + format: date + description: The date the employee started living at the address. + courtesy_withholding: + type: boolean + description: Determines if home taxes should be withheld and paid for employee. + street_1: + type: string + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: string + readOnly: false + state: + type: string + readOnly: false + zip: + type: string + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + required: + - uuid + - version + Employee-Section603-High-Earner-Status-List: + type: array + x-examples: + success_status: + - id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + effective_year: 2026 + is_high_earner: false + - id: 550e8400-e29b-41d4-a716-446655440000 + effective_year: 2027 + is_high_earner: true + items: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + Employee-Section603-High-Earner-Status: + type: object + description: The representation of an employee's Section 603 high earner status for a specific year. Section 603 of the SECURE 2.0 Act requires employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold to have their catch-up contributions to pre-tax retirement benefits designated as post-tax contributions. + x-examples: + success_status: + id: f47ac10b-58cc-4372-a567-0e02b2c3d479 + effective_year: 2026 + is_high_earner: false + properties: + id: + type: string + description: The unique identifier of the Section 603 high earner status record + readOnly: true + effective_year: + type: integer + description: The year for which this high earner status applies + readOnly: true + is_high_earner: + type: + - boolean + - 'null' + description: Whether the employee is classified as a high earner for Section 603 purposes. Can be null if the status has not yet been determined. + readOnly: true + required: + - id + - effective_year + - is_high_earner + Employee-Section603-High-Earner-Status-Create-Request: + type: object + description: Request body for creating an employee's Section 603 high earner status + properties: + effective_year: + type: integer + description: The year for which this high earner status applies + example: 2026 + is_high_earner: + type: boolean + description: Whether the employee is classified as a high earner for Section 603 purposes + example: true + required: + - effective_year + - is_high_earner + Employee-Section603-High-Earner-Status-Update-Request: + type: object + description: Request body for updating an employee's Section 603 high earner status + properties: + is_high_earner: + type: boolean + description: Whether the employee is classified as a high earner for Section 603 purposes + example: true + required: + - is_high_earner + Employee-State-Taxes-List: + type: array + x-examples: + success_status: + - uuid: 287d2c61-1d18-4126-8a4a-9cb29bbb6dac + employee_uuid: c963cb99-fe1c-4aa8-9d48-1ad211ad396f + state: CA + file_new_hire_report: false + is_work_state: true + questions: + - is_question_for_admin_only: false + label: Filing Status + description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + +' + key: filing_status + input_question_format: + type: Select + options: + - value: S + label: Single + - value: M + label: Married one income + - value: MD + label: Married dual income + - value: H + label: Head of Household + - value: E + label: Do Not Withhold + answers: + - value: M + valid_from: '2010-01-01' + valid_up_to: + - is_question_for_admin_only: false + label: Withholding Allowance + description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + +' + key: withholding_allowance + input_question_format: + type: Number + answers: + - value: 1 + valid_from: '2010-01-01' + valid_up_to: + - is_question_for_admin_only: false + label: Additional Withholding + description: You can withhold an additional amount of California income taxes here. + key: additional_withholding + input_question_format: + type: Currency + answers: + - value: '0.0' + valid_from: '2010-01-01' + valid_up_to: + - is_question_for_admin_only: true + label: File a New Hire Report? + description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. + key: file_new_hire_report + input_question_format: + type: Select + options: + - value: true + label: Yes, file the state new hire report for me. + - value: false + label: No, I have already filed. + answers: + - value: false + valid_from: '2010-01-01' + valid_up_to: + items: + type: object + properties: + uuid: + type: string + description: The uuid of the employee state field. + employee_uuid: + type: string + description: The employee's uuid + state: + type: string + description: Two letter US state abbreviation + file_new_hire_report: + type: + - boolean + - 'null' + is_work_state: + type: boolean + questions: + type: array + items: + "$ref": "#/components/schemas/Employee-State-Tax-Question" + required: + - uuid + - employee_uuid + - state + - questions + Employee-State-Tax-Question: + type: object + properties: + label: + type: string + description: A short title for the question + description: + type: + - string + - 'null' + description: An explaination of the question - this may contain inline html formatted links. + key: + type: string + description: A unique identifier of the question (for the given state) - used for updating the answer. + is_question_for_admin_only: + type: boolean + input_question_format: + "$ref": "#/components/schemas/Employee-State-Tax-Input-Question-Format" + answers: + type: array + items: + "$ref": "#/components/schemas/Employee-State-Tax-Answer" + required: + - label + - description + - key + - input_question_format + - answers + - is_question_for_admin_only + Employee-State-Tax-Input-Question-Format: + type: object + properties: + type: + type: string + description: Describes the type of question - Text, Number, Select, Currency, Date + options: + type: array + uniqueItems: true + description: For "Select" type questions, the allowed values and display labels. + items: + type: object + properties: + value: + description: An allowed value to answer the question + oneOf: + - type: string + - type: boolean + - type: number + label: type: string - description: A string containing the exact event name (e.g. `employee.created`), or use a wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`, `notification.*.created` etc.) - external_payroll_id: - name: external_payroll_id - in: path - required: true - schema: + description: A display label that corresponds to the answer value + required: + - label + required: + - type + Employee-State-Tax-Answer: + type: object + properties: + value: + oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + description: The answer to the corresponding question - this may be a string, number, boolean, or null. + valid_from: + type: string + description: The effective date of the answer - currently always “2010-01-01”. + valid_up_to: + type: + - string + - 'null' + description: The effective end date of the answer - currently always null. + Employee-State-Taxes-Request: + type: object + properties: + states: + type: array + uniqueItems: true + items: + type: object + properties: + state: type: string - description: The UUID of the external payroll - form_id: - name: form_id - in: path - required: true - schema: - type: string - description: The UUID of the form - document_uuid: - name: document_uuid - in: path - required: true - schema: + questions: + type: array + uniqueItems: true + items: + type: object + properties: + key: + type: string + answers: + type: array + uniqueItems: true + items: + type: object + properties: + value: + oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + valid_from: + type: string + valid_up_to: + type: + - string + - 'null' + required: + - value + - valid_from + required: + - key + required: + - state + required: + - states + Employee-Payment-Details-List: + type: array + description: A list of employee payment details. + x-examples: + success_status: + - employee_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + first_name: Soren + last_name: Kierkegaard + payment_method: Direct Deposit + split_by: Percentage + splits: + - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + name: Primary Checking + hidden_account_number: XXXX1207 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + routing_number: '055003201' + account_type: Checking + priority: 1 + split_amount: 100 + - employee_uuid: 6b7e4b51-2e2d-4b54-9f37-7b9d0e9fa5d2 + first_name: Autumn + last_name: Connelly + payment_method: Check + split_by: + splits: + items: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + first_name: + type: string + description: The legal first name of the employee. + readOnly: true + last_name: + type: string + description: The last name of the employee. + readOnly: true + payment_method: + type: string + enum: + - Direct Deposit + - Check + description: The type of payment method. + readOnly: true + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: How the payment is split. This field is applicable when `payment_method` is "Direct Deposit". If `split_by` is Percentage, then the split amounts must add up to exactly 100. If `split_by` is Amount, the last split amount must be `null` to capture the remainder. + readOnly: true + splits: + type: + - array + - 'null' + description: An array of payment splits. This field is applicable when `payment_method` is "Direct Deposit". + items: + type: object + properties: + bank_account_uuid: + type: string + description: The UUID of the bank account. + name: + type: string + description: The name of the bank account. + hidden_account_number: + type: string + description: An obfuscated version of the account number which can be used for display purposes. + encrypted_account_number: + type: + - string + - 'null' + description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the `employee_payment_methods:read:account_number` scope. + routing_number: + type: string + description: The routing number of the bank account. + account_type: + type: string + description: The bank account type (e.g., "Checking" or "Savings"). + priority: + type: integer + description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. + split_amount: + type: + - number + - 'null' + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + readOnly: true + Contractor-Payment-Details-List: + type: array + x-examples: + success_status: + - contractor_uuid: e3d9487a-4ecb-49a3-b6ff-cf03ba7278b6 + first_name: Yael + last_name: Kuvalis + payment_method: Check + split_by: + splits: + - contractor_uuid: 577b6307-66e9-4926-a769-91f5c8b578aa + first_name: Autumn + last_name: Connelly + payment_method: Direct Deposit + split_by: Percentage + splits: + - bank_account_uuid: 0aca4500-8ba4-48fc-adce-677fe7926b7b + name: Cayman Island Checking + hidden_account_number: XXXX1545 + account_number: + encrypted_account_number: + routing_number: '055003201' + priority: 1 + split_amount: 100 + account_type: Checking + items: + type: object + properties: + contractor_uuid: + type: string + payment_method: + type: string + enum: + - Direct Deposit + - Check + first_name: + type: string + last_name: + type: string + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: Describes how the payment will be split. If split_by is Percentage, then the split amounts must add up to exactly 100. If split_by is Amount, then the amount represents cents and the last split amount must be `null` to capture the remainder. + splits: + type: + - array + - 'null' + items: + type: object + properties: + bank_account_uuid: + type: string + name: + type: string + hidden_account_number: + type: string + description: An obfuscated version of the account number which can be used for display purposes. + encrypted_account_number: + type: + - string + - 'null' + description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the `contractor_payment_methods:read:account_number` scope. + routing_number: + type: string + priority: + type: integer + description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. + split_amount: + type: + - number + - 'null' + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + account_type: + type: string + Notifications-List: + type: array + x-examples: + success_status: + - uuid: d053ee2a-a80f-4a61-8bf8-6122c1f954dd + company_uuid: 46c8329d-ebd1-49ba-878c-810b481a34c9 + category: company_setup.missing_mandatory_sick_time_policy + title: Set up a sick time off policy + message: At least one company work location requires businesses to provide a sick time off policy. + actionable: true + can_block_payroll: false + published_at: '2025-06-09T13:42:59.000-07:00' + due_at: + status: open + resources: [] + template_variables: {} + - uuid: 2edd148b-c4c3-4cda-b3e1-72b87399e6c8 + company_uuid: 46c8329d-ebd1-49ba-878c-810b481a34c9 + category: bank_error.compensation_credit_failure + title: Unable to deposit funds to Donn Cormier + message: We were unable to deposit a recent paycheck to Donn’s bank account, so these funds of $100.00 will be returned to Luettgen-Gusikowski’s bank account. Once the funds are received, the payment should be made directly to Donn. + actionable: true + can_block_payroll: false + published_at: '2025-06-09T13:43:00.000-07:00' + due_at: + status: open + resources: + - entity_type: Employee + entity_uuid: 66a27bb8-be5b-42e5-82b8-b2d0044a7f9e + template_variables: + beneficiary_name: Donn Cormier + amount: "$100.00" + company_name: Luettgen-Gusikowski + items: + "$ref": "#/components/schemas/Notification" + Notification: + type: object + properties: + uuid: + type: string + description: Unique identifier of a notification. + company_uuid: + type: string + description: Unique identifier of the company to which the notification belongs. + title: + type: string + description: The title of the notification. This highlights the actionable component of the notification. + message: + type: string + description: The message of the notification. This provides additional context for the user and recommends a specific action to resolve the notification. + status: + type: string + description: Represents the notification's status as managed by our system. It is updated based on observable system events and internal business logic, and does not reflect resolution steps taken outside our system. This field is read-only and cannot be modified via the API. + enum: + - open + - resolved + - expired + category: + type: string + description: The notification's category. + actionable: + type: boolean + description: Indicates whether a notification requires action or not. If false, the notification provides critical information only. + can_block_payroll: + type: boolean + description: Indicates whether a notification may block ability to run payroll. If true, we suggest that these notifications are prioritized to your end users. + published_at: + type: string + description: Timestamp of when the notification was published. + due_at: + type: + - string + - 'null' + description: Timestamp of when the notification is due. If the notification has no due date, this field will be null. + template_variables: + type: object + description: An object containing template variables used to render the notification. The structure of this object depends on the notification category. Each category defines a fixed set of variable names (keys), which are always present. The values of these variables can vary depending on the specific notification instance. + additionalProperties: + type: string + resources: + type: array + description: An array of entities relevant to the notification + items: + type: object + properties: + entity_type: type: string - description: The ID or UUID of the document - garnishment_id: - name: garnishment_id - in: path - required: true - schema: + description: The type of entity being described. + enum: + - BankAccount + - Contractor + - ContractorPayment + - Employee + - Payroll + - PaySchedule + - RecoveryCase + - Signatory + - Wire In Request + entity_uuid: type: string - description: The UUID of the garnishment - historical_employee_uuid: - name: historical_employee_uuid - in: path - required: true - schema: + description: Unique identifier of the entity + reference_type: type: string - description: The UUID of the historical employee - home_address_uuid: - name: home_address_uuid - in: path - required: true - schema: + description: Optional. The type of a resource that is related to the one described by entity_type and entity_uuid. For instance, if the entity_type is “BankAccount”, the reference_type could be the “Employee” or “Contractor” to whom the bank account belongs. + reference_uuid: type: string - description: The UUID of the home address - work_address_uuid: - name: work_address_uuid - in: path - required: true - schema: + description: Optional. Unique identifier of the reference. + required: + - entity_type + - entity_uuid + required: + - uuid + - company_uuid + - title + - message + - category + - actionable + - status + - published_at + - due_at + - resources + - can_block_payroll + x-examples: + notification_show: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + company_uuid: 88f7cca1-dcad-4d20-84db-7fb80303d69f + title: 'Action required: Additional information needed to process payroll' + message: If we do not receive this information as soon as possible, your payroll may not be processed on time. + status: open + category: information_request + actionable: true + can_block_payroll: true + published_at: '2022-01-01T00:00:00.000Z' + due_at: '2022-02-01T00:00:00.000Z' + template_variables: + blocked_task: Payroll + resources: + - entity_type: Employee + entity_uuid: 21b6f9ce-0ac4-4745-8d8a-127f8c0f00f2 + Payroll-List: + description: A list of payrolls for a company. + type: array + x-examples: + success_status: + - uuid: 3601a7a2-0562-4e4c-9559-20886658daac + payroll_uuid: 3601a7a2-0562-4e4c-9559-20886658daac + company_uuid: b43e6012-bf6c-4752-b67b-5c8000595e0e + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-08' + initial_check_date: '2025-06-27' + expected_debit_time: '2025-06-12T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-12T23:00:00Z' + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-11' + calculated_at: '2025-06-11T19:40:51Z' + pay_period: + start_date: '2025-05-20' + end_date: '2025-06-04' + pay_schedule_uuid: ded21d08-02d6-41cb-b211-8d8ca02f1c6a + check_date: '2025-06-08' + external: false + payroll_deadline: '2025-06-12T23:00:00Z' + company_taxes: [] + created_at: '2025-06-11T19:40:51Z' + partner_owned_disbursement: + items: + "$ref": "#/components/schemas/Payroll" + Payroll-Update: + type: object + properties: + employee_compensations: + type: array + items: + type: object + description: '' + properties: + employee_uuid: type: string - description: The UUID of the work address - job_id: - schema: + description: The UUID of the employee. + version: type: string - name: job_id - in: path - required: true - description: The UUID of the job - limit: - name: limit - in: query - required: false - schema: + description: The current version of this employee compensation from the prepared payroll. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + excluded: + type: boolean + description: This employee will be excluded from payroll calculation and will not be paid for the payroll. + payment_method: type: string - description: Limits the number of objects returned in a single response, between 1 and 100. The default is 25 - location_id: - name: location_id - in: path - required: true - schema: + description: The employee's compensation payment method. Invalid values will be ignored. + enum: + - Direct Deposit + - Check + memo: type: string - description: The UUID of the location - location_uuid: - name: location_uuid - in: path - required: true - schema: + description: Custom text that will be printed as a personal note to the employee on a paystub. + fixed_compensations: + type: array + items: + type: object + description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. + properties: + name: + type: string + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + amount: + type: string + description: The amount of the compensation for the pay period. + job_uuid: + type: string + description: The UUID of the job for the compensation. + hourly_compensations: + type: array + items: + type: object + description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. + properties: + name: + type: string + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + hours: + type: string + description: The number of hours to be compensated for this pay period. + job_uuid: + type: string + description: The UUIDs of the job for the compensation. + deductions: + type: array + items: + type: object + description: An array of deductions for the employee. + properties: + name: + type: string + description: The name of the deduction. + amount: + type: number + description: The amount of the deduction for the pay period. + amount_type: + type: string + description: The amount type of the deduction for the pay period. + enum: + - fixed + - percent + uuid: + type: string + description: The UUID of the deduction. This parameter is optional and can be provided in order to update an existing deduction. + paid_time_off: + type: array + description: An array of all paid time off the employee is eligible for this pay period. Each paid time off object can be the name or the specific policy_uuid. + items: + type: object + properties: + name: + type: string + description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. Must pass in name or policy_uuid but not both. + hours: + type: string + description: The hours of this PTO taken during the pay period. + policy_uuid: + type: string + description: The uuid of the PTO policy. Must pass in name or policy_uuid but not both. + final_payout_unused_hours_input: + type: + - string + - 'null' + description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. + reimbursements: + type: array + description: An array of reimbursements for the employee. + items: + type: object + properties: + amount: + type: string + description: The dollar amount of the reimbursement for the pay period. + description: + type: string + description: The description of the reimbursement. If not provided, the reimbursement will be unnamed. + uuid: + type: string + description: The UUID of an existing reimbursement. This parameter is optional and can be provided in order to update an existing reimbursement. + withholding_pay_period: + description: The payment schedule tax rate the payroll is based on. Only relevant for off-cycle payrolls. + type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Semiannually + - Annually + skip_regular_deductions: + description: Block regular deductions and contributions for this payroll. Only relevant for off-cycle payrolls. + type: boolean + fixed_withholding_rate: + description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only relevant for off-cycle payrolls. + type: boolean + required: + - employee_compensations + Payroll-Gross-Up-Request: + type: object + description: Request body for calculating gross up amount + properties: + employee_uuid: + type: string + description: The UUID of the employee + net_pay: + type: string + format: float + description: Employee net earnings + required: + - employee_uuid + - net_pay + Payroll-Gross-Up-Response: + type: object + description: Response containing the calculated gross up amount + x-examples: + success_status: + gross_up: '1234.56' + properties: + gross_up: + type: string + format: float + description: Gross up earnings. + Payroll-Calculate-Accruing-Time-Off-Hours-Request: + type: object + description: Request body for calculating accruing time off hours + properties: + regular_hours_worked: + type: + - string + - 'null' + format: float + description: Regular hours worked in this pay period + overtime_hours_worked: + type: + - string + - 'null' + format: float + description: Overtime hours worked in this pay period + double_overtime_hours_worked: + type: + - string + - 'null' + format: float + description: Double overtime hours worked in this pay period + pto_hours_used: + type: + - string + - 'null' + format: float + description: Paid time off hours used in this pay period + sick_hours_used: + type: + - string + - 'null' + format: float + description: Sick hours used in this pay period + Payroll-Calculate-Accruing-Time-Off-Hours-Response: + type: object + description: Response containing the calculated accruing time off hours + x-examples: + success_status: + hours_earned: + - time_off_policy_uuid: 7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f + hours: '3.0' + - time_off_policy_uuid: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d + hours: '20.0' + properties: + hours_earned: + type: array + description: Accruing time off hours earned for each time off policy + items: + type: object + properties: + time_off_policy_uuid: type: string - description: The UUID of the location - payroll_id: - name: payroll_id - in: path - required: true - schema: + description: The UUID of the time off policy + hours: type: string - description: The UUID of the payroll + format: float + description: Hours accrued during this pay period. + required: + - hours_earned + Payroll: + type: object + x-examples: + success_status: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: [] + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-13' + initial_check_date: '2025-06-13' + expected_debit_time: '2025-06-17T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-17T23:00:00Z' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" payroll_uuid: - name: payroll_uuid - in: path - required: true - schema: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + totals: + "$ref": "#/components/schemas/Payroll-Totals-Type" + company_taxes: + "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" + payroll_taxes: + "$ref": "#/components/schemas/Payroll-Taxes-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + submission_blockers: + "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" + credit_blockers: + "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Unprocessed-Payroll: + type: object + description: A payroll that has been transitioned back to unprocessed state after cancellation. + x-examples: + success_status: + uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 + employee_compensations: [] + payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 + company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb + off_cycle: false + auto_payroll: false + processed: false + processed_date: + calculated_at: + pay_period: + start_date: '2021-02-01' + end_date: '2021-02-15' + pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 + check_date: '2021-02-22' + external: false + payroll_deadline: '2021-02-18T22:00:00Z' + created_at: '2022-02-01T22:00:00Z' + partner_owned_disbursement: + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Payroll-Partner-Owned-Disbursement-Type: + type: + - boolean + - 'null' + description: Will money movement for the payroll be performed by the partner rather than by Gusto? + Payroll-Deadline-Type: + type: string + format: date-time + description: A timestamp that is the deadline for the payroll to be run in order for employees to be paid on time. If payroll has not been run by the deadline, a prepare request will update both the check date and deadline to reflect the soonest employees can be paid and the deadline by which the payroll must be run in order for said check date to be met. + readOnly: true + Payroll-Check-Date-Type: + type: string + description: The date on which employees will be paid for the payroll. + readOnly: true + Payroll-Processed-Type: + type: boolean + description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. + readOnly: true + Payroll-Processed-Date-Type: + type: + - string + - 'null' + description: The date at which the payroll was processed. Null if the payroll isn't processed yet. + readOnly: true + Payroll-Calculated-At-Type: + type: + - string + - 'null' + format: date-time + description: A timestamp of the last valid payroll calculation. Null if there isn't a valid calculation. + readOnly: true + Payroll-Payroll-Uuid-Type: + type: string + description: The UUID of the payroll. + readOnly: true + Payroll-Company-Uuid-Type: + type: string + description: The UUID of the company for the payroll. + readOnly: true + Payroll-Off-Cycle-Type: + type: boolean + description: Indicates whether the payroll is an off-cycle payroll + readOnly: true + Off-Cycle-Reason-Type: + anyOf: + - type: string + enum: + - Adhoc + - Benefit reversal + - Bonus + - Correction + - Dismissed employee + - Hired employee + - Wage correction + - Tax reconciliation + - Reversal + - Disability insurance distribution + - Transition from old pay schedule + - type: 'null' + description: The off-cycle reason. Only included for off-cycle payrolls. + readOnly: true + Auto-Pilot-Type: + type: boolean + description: Indicates whether the payroll has automatic payroll enabled + readOnly: true + Payroll-External-Type: + type: boolean + description: Indicates whether the payroll is an external payroll + readOnly: true + Payroll-Final-Termination-Payroll-Type: + type: boolean + description: Indicates whether the payroll is the final payroll for a terminated employee. Only included for off-cycle payrolls. + readOnly: true + Payroll-Skip-Regular-Deductions-Type: + type: + - boolean + - 'null' + description: Block regular deductions and contributions for this payroll. Only included for off-cycle payrolls. + readOnly: true + Payroll-Withholding-Pay-Period-Type: + description: The payment schedule tax rate the payroll is based on. Only included for off-cycle payrolls. + readOnly: true + anyOf: + - type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Semiannually + - Annually + - type: 'null' + Payroll-Fixed-Withholding-Rate-Type: + type: + - boolean + - 'null' + description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only included for off-cycle payrolls. + readOnly: true + Payroll-Pay-Period-Type: + type: object + readOnly: true + properties: + start_date: + type: string + description: The start date, inclusive, of the pay period. + readOnly: true + end_date: + type: string + description: The start date, inclusive, of the pay period. + readOnly: true + pay_schedule_uuid: + type: + - string + - 'null' + description: The UUID of the pay schedule for the payroll. + readOnly: true + Payroll-Payroll-Status-Meta-Type: + type: object + description: Information about the payroll's status and expected dates + properties: + cancellable: + type: boolean + description: true if the payroll may be cancelled. + readOnly: true + expected_check_date: + type: string + description: The date an employee will be paid if the payroll is submitted now. + readOnly: true + initial_check_date: + type: + - string + - 'null' + description: The normal check date for the associated pay period. Returns `null` for off-cycle payrolls (not meaningful for off-cycle). + readOnly: true + expected_debit_time: + type: string + description: The time the employer's account will be debited if the payroll is submitted now. + readOnly: true + payroll_late: + type: + - boolean + - 'null' + description: expected_check_date > initial_check_date. Returns `null` for off-cycle payrolls (not meaningful for off-cycle). + readOnly: true + initial_debit_cutoff_time: + type: string + description: Payroll must be submitted at or before this time to avoid late payroll. + readOnly: true + Payroll-Totals-Type: + type: object + description: The subtotals for the payroll. + properties: + company_debit: + type: string + description: The total company debit for the payroll. + readOnly: true + net_pay_debit: + type: string + minLength: 1 + description: The total company net pay for the payroll. + tax_debit: + type: string + description: The total tax debit for the payroll. + readOnly: true + reimbursement_debit: + type: string + description: The total reimbursement debit for the payroll. + readOnly: true + child_support_debit: + type: string + description: The total child support debit for the payroll. + readOnly: true + reimbursements: + type: string + description: The total reimbursements for the payroll. + readOnly: true + net_pay: + type: string + description: The net pay amount for the payroll. + readOnly: true + gross_pay: + type: string + description: The gross pay amount for the payroll. + readOnly: true + employee_bonuses: + type: string + description: The total employee bonuses amount for the payroll. + readOnly: true + employee_commissions: + type: string + description: The total employee commissions amount for the payroll. + readOnly: true + employee_cash_tips: + type: string + description: The total employee cash tips amount for the payroll. + readOnly: true + employee_paycheck_tips: + type: string + description: The total employee paycheck tips amount for the payroll. + readOnly: true + additional_earnings: + type: string + description: The total additional earnings amount for the payroll. + readOnly: true + owners_draw: + type: string + description: The total owner's draw for the payroll. + readOnly: true + check_amount: + type: string + description: The total check amount for the payroll. + readOnly: true + employer_taxes: + type: string + description: The total amount of employer paid taxes for the payroll. + readOnly: true + employee_taxes: + type: string + description: The total amount of employee paid taxes for the payroll. + readOnly: true + benefits: + type: string + description: The total amount of company contributed benefits for the payroll. + readOnly: true + employee_benefits_deductions: + type: string + description: The total amount of employee deducted benefits for the payroll. + readOnly: true + imputed_pay: + type: string + description: The total amount of imputed pay for the payroll. + readOnly: true + deferred_payroll_taxes: + type: string + description: The total amount of payroll taxes deferred for the payroll, such as allowed by the CARES act. + readOnly: true + other_deductions: + type: string + description: The total amount of deductions for the payroll. + readOnly: true + Payroll-Employee-Compensations-Included: + type: object + additionalProperties: true + properties: + taxes: + type: array + uniqueItems: false + description: An array of employer and employee taxes for the pay period. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. + items: + type: object + properties: + name: type: string - description: The UUID of the payroll - pay_schedule_id: - name: pay_schedule_id - in: path - required: true - schema: + minLength: 1 + employer: + type: boolean + amount: + type: number + minLength: 1 + required: + - name + - employer + - amount + readOnly: true + readOnly: true + benefits: + type: array + uniqueItems: false + description: An array of employee benefits for the pay period. Benefits are only included for processed payroll when the include parameter is present. + items: + type: object + properties: + name: type: string - description: The UUID of the pay schedule - payroll_types: - name: payroll_types - in: query - required: false - schema: + readOnly: true + employee_deduction: + type: number + readOnly: true + company_contribution: + type: number + readOnly: true + imputed: + type: boolean + readOnly: true + readOnly: true + deductions: + type: array + uniqueItems: false + description: An array of employee deductions for the pay period. Only included when `deductions` is present in the `include` parameter. + items: + type: object + properties: + name: type: string - description: regular and/or transition. Multiple options are comma separated. The default is regular pay periods if nothing is passed in. - document_type: - name: document_type - in: path - required: true - schema: + description: The name of the deduction. + amount: + type: number + description: The amount of the deduction for the pay period. + amount_type: type: string + description: The amount type of the deduction for the pay period. Only present for unprocessed payrolls. enum: - - printable_payroll_checks - description: The type of document being generated - report_type: - schema: - type: string - name: report_type - in: path - required: true - description: The report type - report_uuid: - schema: + - fixed + - percent + uuid: type: string - name: report_uuid - in: path - required: true - description: The UUID of the report request - request_uuid: - name: request_uuid - in: path - required: true - schema: + description: The UUID of the deduction. Only present for unprocessed payrolls. + readOnly: true + updatable_via_payroll: + type: boolean + description: Whether the deduction can be updated via the payroll update endpoint. Only present for unprocessed payrolls. + readOnly: true + Payroll-Employee-Compensations-Base-Type: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + excluded: + type: boolean + description: This employee will be excluded (skipped) from payroll calculation and will not be paid for the payroll. Cancelling a payroll would reset all employees' excluded back to false. + readOnly: true + first_name: + type: + - string + - 'null' + description: The first name of the employee. Requires `employees:read` scope. + readOnly: true + preferred_first_name: + type: + - string + - 'null' + description: The preferred first name of the employee. Requires `employees:read` scope. + readOnly: true + last_name: + type: + - string + - 'null' + description: The last name of the employee. Requires `employees:read` scope. + readOnly: true + gross_pay: + type: + - string + - 'null' + description: The employee's gross pay (as a string-formatted decimal, e.g. "1234.56"), equal to regular wages + cash tips + payroll tips + any other additional earnings, excluding imputed income. This value is only available for processed payrolls. + readOnly: true + net_pay: + type: + - string + - 'null' + description: The employee's net pay (as a string-formatted decimal, e.g. "1234.56"), equal to gross_pay - employee taxes - employee deductions or garnishments - cash tips. This value is only available for processed payrolls. + readOnly: true + check_amount: + type: + - string + - 'null' + description: The employee's check amount (as a string-formatted decimal, e.g. "1234.56"), equal to net_pay + reimbursements. This value is only available for processed payrolls. + readOnly: true + payment_method: + description: The employee's compensation payment method. Is *only* `Historical` when retrieving external payrolls initially run outside of Gusto, then put into Gusto. + anyOf: + - type: string + enum: + - Direct Deposit + - Check + - Historical + - type: 'null' + memo: + type: + - string + - 'null' + description: Custom text that will be printed as a personal note to the employee on a paystub. + readOnly: true + fixed_compensations: + type: array + uniqueItems: false + description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. If this payroll has been processed, only fixed compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active fixed compensations are returned. + items: + type: object + properties: + name: type: string - description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. - signatory_uuid: - name: signatory_uuid - in: path - required: true - schema: + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + amount: type: string - description: The UUID of the signatory - starting_after_uuid: - name: starting_after_uuid - in: query - required: false - schema: + description: The amount of the compensation for the pay period. + job_uuid: type: string - description: A cursor for pagination. Returns all events occuring after the specified UUID (exclusive). Events are sorted according to the provided sort_order param. - resource_uuid: - name: resource_uuid - in: query - required: false - schema: + description: The UUID of the job for the compensation. + readOnly: true + hourly_compensations: + type: array + uniqueItems: false + description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. If this payroll has been processed, only hourly compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active hourly compensations are returned. + items: + type: object + properties: + name: type: string - description: The UUID of the company. If not specified, will return all events for all companies. - time_off_type: - schema: + description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. + hours: type: string - required: true - in: query - name: time_off_type - description: 'The time off type name you want to query data for. ex: ''sick'' or ''vacation''' - time_off_policy_uuid: - name: time_off_policy_uuid - in: path - required: true - schema: + description: The number of hours to be compensated for this pay period. + amount: type: string - description: The UUID of the company time off policy - webhook_subscription_uuid: - name: webhook_subscription_uuid - in: path - required: true - schema: + description: The amount of the compensation. This field is only available after the payroll is calculated and cannot be used for updating hourly compensations. + job_uuid: type: string - description: The webhook subscription UUID. - VersionHeader: - name: X-Gusto-API-Version - in: header - required: false - description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. - schema: + description: The UUID of the job for the compensation. + readOnly: true + compensation_multiplier: + type: number + description: The amount multiplied by the base rate to calculate total compensation per hour worked. + readOnly: true + flsa_status: type: string - enum: - - '2024-04-01' - default: '2024-04-01' - IpAddressHeader: - name: x-gusto-client-ip - in: header - required: false - description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. - schema: + description: The FLSA Status of the employee's primary job compensation + readOnly: true + paid_time_off: + type: array + uniqueItems: false + description: An array of all paid time off the employee is eligible for this pay period. + items: + type: object + properties: + name: type: string - notification_uuid: - name: notification_uuid - in: path - required: true - schema: + description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. + hours: type: string - description: The notification entity_uuid - invoice_period: - name: invoice_period - in: path - required: true - schema: + description: The hours of this PTO taken during the pay period. + amount: + type: + - string + - 'null' + description: The dollar amount paid for this PTO entry during the pay period (as a string-formatted decimal, e.g. "1234.56"). Only available for processed payrolls. + readOnly: true + final_payout_unused_hours_input: + type: + - string + - 'null' + description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. + reimbursements: + type: array + uniqueItems: false + description: An array of reimbursements for the employee. + items: + type: object + properties: + amount: type: string - example: 2020-01 - description: The month we are calculating the invoice for. Must be in YYYY-MM format - recovery_case_uuid: - name: recovery_case_uuid - in: path - required: true - schema: + description: The dollar amount of the reimbursement for the pay period. + description: + type: + - string + - 'null' + description: The description of the reimbursement. Null for unnamed reimbursements. + uuid: + type: + - string + - 'null' + description: The UUID of the reimbursement. Null for unnamed reimbursements. This field is only available for unprocessed payrolls. + readOnly: true + recurring: + type: boolean + description: Whether the reimbursement is recurring. This field is only available for unprocessed payrolls. + readOnly: true + required: + - amount + - description + Payroll-Employee-Compensations-Type: + allOf: + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Base-Type" + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + version: + description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + deductions: + type: array + uniqueItems: false + description: An array of deductions for the employee. This field is included by default for regular payrolls in version `v2025-06-15` and later. + items: + type: object + properties: + name: + type: string + description: The name of the deduction. + amount: + type: number + description: The amount of the deduction for the pay period. + amount_type: + type: string + description: The amount type of the deduction for the pay period. Only present for unprocessed payrolls. + enum: + - fixed + - percent + uuid: + type: string + description: The UUID of the deduction. Only present for unprocessed payrolls. + updatable_via_payroll: + type: boolean + description: Whether the deduction can be updated via the payroll update endpoint. Only present for unprocessed payrolls. + readOnly: true + Payroll-Unprocessed-Employee-Compensations-Type: + allOf: + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Base-Type" + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + version: + description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control) for information on how to use this field. + Payroll-Company-Taxes-Type: + type: array + uniqueItems: false + description: An array of taxes applicable to this payroll in addition to taxes included in `employee_compensations`. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. + items: + type: object + properties: + name: + type: string + description: The tax name + employer: + type: boolean + description: Whether this tax is an employer or employee tax + amount: + type: string + description: The amount of this tax for the payroll + Payroll-Taxes-Type: + type: array + uniqueItems: false + description: An array of tax totals applicable to this payroll. Only included for processed or calculated payrolls when `payroll_taxes` is present in the `include` parameter. + items: + type: object + properties: + name: + type: string + description: The tax name + employer: + type: boolean + description: Whether this tax is an employer or employee tax + amount: + type: number + description: The total tax for the payroll + Payroll-Payment-Speed-Changed-Type: + type: object + description: Only applicable when a payroll is moved to four day processing instead of fast ach. + properties: + original_check_date: + type: string + description: Original check date when fast ach applies. + readOnly: true + current_check_date: + type: string + description: Current check date. + readOnly: true + original_debit_date: + type: string + description: Original debit date when fast ach applies. + readOnly: true + current_debit_date: + type: string + description: Current debit date. + readOnly: true + reason: + type: string + description: The reason why the payroll is moved to four day. + readOnly: true + Created-At-Type: + type: string + format: date-time + description: Datetime for when the resource was created. + readOnly: true + Payroll-Submission-Blocker-Type: + type: object + description: A blocker that prevents payment submission. + properties: + blocker_type: + type: string + description: The type of blocker that's blocking the payment submission. + readOnly: true + blocker_name: + type: string + description: The name of the submission blocker. + readOnly: true + unblock_options: + type: array + uniqueItems: true + items: + type: object + properties: + unblock_type: type: string - description: The UUID of the recovery case - contractor_payment_uuid_query: - name: contractor_payment_uuid - in: query - required: false - schema: + description: The type of unblock option for the submission blocker. + readOnly: true + check_date: type: string - description: The UUID of the contractor payment - payroll_uuid_query: - name: payroll_uuid - in: query - required: false - schema: + description: The payment check date associated with the unblock option. + readOnly: true + metadata: + type: object + additionalProperties: true + description: Additional data associated with the unblock option. + readOnly: true + description: The available options to unblock a submission blocker. + readOnly: true + selected_option: + type: + - string + - 'null' + description: The unblock option that's been selected to resolve the submission blocker. + readOnly: false + status: + type: string + description: The status of the submission blocker. + enum: + - unresolved + - resolved + readOnly: true + Payroll-Submission-Blocker-Request-Type: + type: object + description: Request object for resolving a submission blocker. Each submission_blocker should include a selected unblock option. + required: + - blocker_type + - selected_option + properties: + blocker_type: + type: string + description: The type of submission_blocker that is blocking the payment. + selected_option: + type: string + description: The selected option to unblock the payment's submission_blocker. + Payroll-Submission-Blockers-Type: + type: array + description: Only included for processed or calculated payrolls + uniqueItems: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + Payroll-Credit-Blocker-Unblock-Option-Submit-Wire: + type: object + description: Unblock option to resolve a credit blocker by submitting a wire transfer + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - submit_wire + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + required: + - wire_in_amount + - wire_in_deadline + - wire_in_request_uuid + properties: + wire_in_amount: + type: string + description: The amount to be wired in (decimal string) + readOnly: true + wire_in_deadline: + type: string + format: date-time + description: Deadline for the wire transfer to be received + readOnly: true + wire_in_request_uuid: + type: string + description: UUID of the wire in request + readOnly: true + readOnly: true + Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot: + type: object + description: Unblock option to resolve a credit blocker by submitting a bank screenshot + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - submit_bank_screenshot + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + required: + - information_request_uuid + properties: + information_request_uuid: + type: string + description: UUID of the information request + readOnly: true + bank_account_last_four_digits: + type: + - string + - 'null' + description: Last 4 digits of the bank account number for the bank screenshot RFI + readOnly: true + readOnly: true + Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi: + type: object + description: Unblock option to resolve a credit blocker by responding to high risk fraud RFI + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - respond_to_high_risk_fraud_rfi + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + required: + - information_request_uuid + properties: + information_request_uuid: + type: string + description: UUID of the information request + readOnly: true + readOnly: true + Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire: + type: object + description: Unblock option to resolve a credit blocker by waiting for reverse wire + required: + - unblock_type + - check_date + - metadata + properties: + unblock_type: + type: string + enum: + - wait_for_reverse_wire + description: The type of unblock option for the credit blocker + readOnly: true + check_date: + type: string + description: The payment check date associated with the unblock option + readOnly: true + metadata: + type: object + additionalProperties: false + readOnly: true + Payroll-Credit-Blocker-Type: + type: object + description: A blocker that prevents payment crediting. + properties: + blocker_type: + type: string + description: The type of blocker that's blocking the payment from being credited. + readOnly: true + blocker_name: + type: string + description: The name of the credit blocker. + readOnly: true + unblock_options: + type: array + uniqueItems: true + items: + oneOf: + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Wire" + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot" + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi" + - "$ref": "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire" + discriminator: + propertyName: unblock_type + mapping: + submit_wire: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Wire" + submit_bank_screenshot: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Submit-Bank-Screenshot" + respond_to_high_risk_fraud_rfi: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Respond-To-High-Risk-Fraud-Rfi" + wait_for_reverse_wire: "#/components/schemas/Payroll-Credit-Blocker-Unblock-Option-Wait-For-Reverse-Wire" + description: The available options to unblock a credit blocker. + readOnly: true + selected_option: + type: + - string + - 'null' + description: The unblock option that's been selected to resolve the credit blocker. + readOnly: false + status: + type: string + description: The status of the credit blocker + enum: + - unresolved + - pending_review + - resolved + - failed + Payroll-Credit-Blockers-Type: + type: array + description: Only included for processed payrolls + uniqueItems: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + Payroll-Processing-Request: + type: + - object + - 'null' + properties: + status: + type: string + description: The status of the payroll processing request + readOnly: true + enum: + - calculating + - calculate_success + - submitting + - submit_success + - processing_failed + errors: + description: Errors that occurred during async payroll processing + readOnly: true + type: array + items: + "$ref": "#/components/schemas/Entity-Error-Object" + Payroll-Fixed-Compensation-Types-Type: + type: array + items: + type: object + readOnly: true + properties: + name: + description: The name of an available type of fixed compensation. + type: string + readOnly: true + Payroll-Show: + type: object + x-examples: + success_status: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: [] + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_submit_wire_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_wire_in + blocker_name: Waiting for Wire In + unblock_options: + - unblock_type: submit_wire + check_date: '2025-06-13' + metadata: + wire_in_amount: '15000.00' + wire_in_deadline: '2025-06-12T18:00:00Z' + wire_in_request_uuid: c1234567-89ab-cdef-0123-456789abcdef + selected_option: + status: unresolved + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_submit_bank_screenshot_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_bank_screenshot + blocker_name: Waiting for Bank Screenshot + unblock_options: + - unblock_type: submit_bank_screenshot + check_date: '2025-06-13' + metadata: + information_request_uuid: d2234567-89ab-cdef-0123-456789abcdef + selected_option: + status: unresolved + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_respond_to_high_risk_fraud_rfi_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_high_risk_fraud_rfi + blocker_name: Waiting for High Risk Fraud RFI + unblock_options: + - unblock_type: respond_to_high_risk_fraud_rfi + check_date: '2025-06-13' + metadata: + information_request_uuid: e3234567-89ab-cdef-0123-456789abcdef + selected_option: + status: pending_review + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + with_wait_for_reverse_wire_credit_blocker: + uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + employee_compensations: [] + submission_blockers: [] + credit_blockers: + - blocker_type: waiting_for_reverse_wire + blocker_name: Waiting for Reverse Wire + unblock_options: + - unblock_type: wait_for_reverse_wire + check_date: '2025-06-13' + metadata: {} + selected_option: + status: resolved + payroll_uuid: b441a30b-2adb-489e-b7b7-9d094011a3f8 + company_uuid: 9aa93530-43d5-484e-b608-33214109420d + off_cycle: false + auto_payroll: false + processed: true + processed_date: '2025-06-16' + calculated_at: '2025-06-16T16:58:03Z' + pay_period: + start_date: '2025-05-25' + end_date: '2025-06-09' + pay_schedule_uuid: 40ff5990-0191-4796-9717-32f7dd3e94d5 + check_date: '2025-06-13' + external: false + payroll_deadline: '2025-06-17T23:00:00Z' + totals: + employee_bonuses: '0.00' + employee_commissions: '0.00' + employee_cash_tips: '0.00' + employee_paycheck_tips: '0.00' + additional_earnings: '0.00' + owners_draw: '0.00' + benefits: '0.00' + check_amount: '0.00' + child_support_debit: '0.00' + company_debit: '0.00' + deferred_payroll_taxes: '0.00' + employee_benefits_deductions: '0.00' + employee_taxes: '0.00' + employer_taxes: '0.00' + gross_pay: '0.00' + imputed_pay: '0.00' + net_pay: '0.00' + net_pay_debit: '0.00' + other_deductions: '0.00' + reimbursement_debit: '0.00' + reimbursements: '0.00' + tax_debit: '0.00' + processing_request: + status: submit_success + errors: [] + created_at: '2025-06-16T16:58:03Z' + partner_owned_disbursement: + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + totals: + "$ref": "#/components/schemas/Payroll-Totals-Type" + company_taxes: + "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" + payroll_taxes: + "$ref": "#/components/schemas/Payroll-Taxes-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + submission_blockers: + "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" + credit_blockers: + "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + employee_compensations: + type: array + uniqueItems: false + items: + type: object + allOf: + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" + - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Included" + Payroll-Unprocessed: + description: An unprocessed payroll with employee compensations. + x-examples: + success_status: + uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + employee_compensations: [] + payroll_uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + company_uuid: 42b5333b-ee39-493a-bf7e-f41f2bd67848 + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-17' + initial_check_date: '2025-06-17' + expected_debit_time: '2025-06-11T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-11T23:00:00Z' + off_cycle: true + auto_payroll: false + off_cycle_reason: Bonus + withholding_pay_period: Twice per month + skip_regular_deductions: true + fixed_withholding_rate: true + final_termination_payroll: false + processed: false + processed_date: + calculated_at: + pay_period: + start_date: '2025-06-10' + end_date: '2025-06-16' + pay_schedule_uuid: + check_date: '2025-06-17' + external: false + payroll_deadline: '2025-06-11T23:00:00Z' + fixed_compensation_types: + - name: Bonus + - name: Commission + - name: Paycheck Tips + - name: Cash Tips + - name: Correction Payment + - name: Reimbursement + created_at: '2025-06-11T19:40:52Z' + partner_owned_disbursement: + type: object + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + employee_compensations: + type: array + uniqueItems: false + items: + "$ref": "#/components/schemas/Payroll-Unprocessed-Employee-Compensations-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + fixed_compensation_types: + "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Payroll-Prepared: + description: The response from preparing a payroll for update. Contains refreshed employee compensations, updated payroll dates, and version information needed for subsequent payroll updates. + x-examples: + success_status: + uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + employee_compensations: [] + payroll_uuid: 4428f108-e46e-4ab6-ba20-03cea031cfc0 + company_uuid: 42b5333b-ee39-493a-bf7e-f41f2bd67848 + payroll_status_meta: + cancellable: false + expected_check_date: '2025-06-17' + initial_check_date: '2025-06-17' + expected_debit_time: '2025-06-11T23:00:00Z' + payroll_late: false + initial_debit_cutoff_time: '2025-06-11T23:00:00Z' + off_cycle: true + auto_payroll: false + off_cycle_reason: Bonus + withholding_pay_period: Twice per month + skip_regular_deductions: true + fixed_withholding_rate: true + final_termination_payroll: false + processed: false + processed_date: + calculated_at: + pay_period: + start_date: '2025-06-10' + end_date: '2025-06-16' + pay_schedule_uuid: + check_date: '2025-06-17' + external: false + payroll_deadline: '2025-06-11T23:00:00Z' + fixed_compensation_types: + - name: Bonus + - name: Commission + - name: Paycheck Tips + - name: Cash Tips + - name: Correction Payment + - name: Reimbursement + created_at: '2025-06-11T19:40:52Z' + partner_owned_disbursement: + type: object + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + employee_compensations: + type: array + uniqueItems: false + items: + "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + fixed_compensation_types: + "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" + processing_request: + "$ref": "#/components/schemas/Payroll-Processing-Request" + partner_owned_disbursement: + "$ref": "#/components/schemas/Payroll-Partner-Owned-Disbursement-Type" + Payroll-Receipt: + type: object + x-examples: + success_status: + totals: + company_debit: '0.00' + net_pay_debit: '0.00' + child_support_debit: '0.00' + reimbursement_debit: '0.00' + tax_debit: '0.00' + taxes: [] + employee_compensations: [] + licensee: + name: Gusto, Zenpayroll Inc. + address: 525 20th St + city: San Francisco + state: CA + postal_code: '94107' + phone_number: '4157778888' + payroll_uuid: 9f624c0d-0d4f-499a-993a-846dfa47a48e + company_uuid: '0481a066-e26a-465b-a2c1-933bd5b03a69' + name_of_sender: Kiehn, Conroy and Prohaska + name_of_recipient: Payroll Recipients + recipient_notice: Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below. + debit_date: '2025-06-12' + license: ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page. + license_uri: https://gusto.com/about/licenses + right_to_refund: https://gusto.com/about/licenses + liability_of_licensee: https://gusto.com/about/licenses + properties: + payroll_uuid: + type: string + description: A unique identifier of the payroll receipt. + company_uuid: + type: string + description: A unique identifier of the company for the payroll. + name_of_sender: + type: string + description: The name of the company by whom the payroll was paid + name_of_recipient: + type: string + description: Always the fixed string "Payroll Recipients" + recipient_notice: + type: string + description: Always the fixed string "Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below." + debit_date: + type: string + description: The debit or funding date for the payroll + license: + type: string + description: Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page." + license_uri: + type: string + description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" + right_to_refund: + type: string + description: '' + liability_of_licensee: + type: string + description: '' + totals: + type: object + description: The subtotals for the payroll. + properties: + company_debit: + type: string + format: float + description: The total company debit for the payroll. + net_pay_debit: + type: string + format: float + description: The total company net pay for the payroll. + child_support_debit: + type: string + format: float + description: The total child support debit for the payroll. + reimbursement_debit: + type: string + format: float + description: The total reimbursements for the payroll. + tax_debit: + type: string + format: float + description: The total tax debit for the payroll. + taxes: + type: array + description: An array of totaled employer and employee taxes for the pay period. + items: + type: object + properties: + name: type: string - description: The UUID of the payroll - transaction_type: - name: transaction_type - in: query - required: false - schema: + description: The amount paid for this tax. + amount: type: string - description: Used to filter the ACH transactions to only include those with a specific transaction type, such as "Credit employee pay". - payment_direction: - name: payment_direction - in: query - required: false - schema: + format: float + description: The total amount paid by both employer and employee for this tax. + employee_compensations: + type: array + description: An array of employee compensations and withholdings for this payroll + items: + type: object + properties: + employee_uuid: type: string - description: Used to filter the ACH transactions to only include those with a specific payment direction, either "credit" or "debit". - wire_in_request_uuid: - name: wire_in_request_uuid - in: path - required: true - schema: + description: The UUID of the employee. + employee_first_name: type: string - description: The UUID of the Wire In Request - time_sheet_uuid: - name: time_sheet_uuid - in: path - required: true - schema: + description: The first name of the employee. + employee_last_name: type: string - description: UUID of the time sheet - entity_uuids: - name: entity_uuids - required: false - in: query - schema: - type: array - items: - type: string - description: Entity UUIDs that reported time sheets - entity_type: - name: entity_type - required: false - in: query - schema: + description: The last name of the employee. + payment_method: type: string + description: The employee's compensation payment method. enum: - - Employee - - Contractor - description: 'Type of entities to filter. One of: "Employee", "Contractor"' - status: - name: status - required: false - in: query - schema: + - Direct Deposit + - Check + net_pay: type: string - enum: - - approved - - pending - - rejected - description: 'Status of time sheets. One of: "approved", "pending", "rejected"' - time_sheet_before: - name: before - required: false - in: query - schema: + format: float + description: The employee's net pay. Net pay paid by check is available for reference but is not included in the `["totals"]["net_pay_debit"]` amount. + total_tax: type: string - description: time sheets that were created before ISO 8601 timestamp. Filtering by "created_at" - time_sheet_after: - name: after - required: false - in: query - schema: + format: float + description: The total of employer and employee taxes for the pay period. + total_garnishments: type: string - description: time sheets that were created before ISO 8601 timestamp. Filtering by "created_at" - time_sheet_sort_by: - name: sort_by - required: false - in: query - schema: + format: float + description: The total garnishments for the pay period. + child_support_garnishment: type: string - enum: - - created_at - - updated_at - - shift_started_at - - shift_ended_at - description: 'Field to sort by. One of: "created_at", "updated_at", "shift_started_at", "shift_ended_at"' - time_sheet_sort_order: - name: sort_order - required: false - in: query - schema: + format: float + description: The total child support garnishment for the pay period. + total_reimbursement: type: string - enum: - - asc - - desc - description: 'Sortinng order. One of: "asc", "desc"' - resource_version: - name: version - required: true - in: query - schema: + format: float + description: The total reimbursement for the pay period. + licensee: + type: object + description: The licensed payroll processor + properties: + name: + type: string + description: Always the fixed string "Gusto, Zenpayroll Inc." + address: + type: string + description: Always the fixed string "525 20th St" + city: + type: string + description: Always the fixed string "San Francisco" + state: + type: string + description: Always the fixed string "CA" + postal_code: + type: string + description: Always the fixed string "94107" + phone_number: + type: string + description: Always the fixed string "4157778888" + Versionable: + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + Contractor-Address: + type: object + x-examples: + example: + version: 23323096a8015e32d9795fadf1fd300d + contractor_uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 + street_1: 999 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + properties: + contractor_uuid: + type: string + description: The UUID of the contractor + street_1: + type: + - string + - 'null' + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: + - string + - 'null' + readOnly: false + state: + type: + - string + - 'null' + readOnly: false + zip: + type: + - string + - 'null' + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: + - string + - 'null' + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + Contractor-Address-Update-Body: + type: object + properties: + version: + type: string + example: 56d00c178bc7393b2a206ed6a86afcb4 + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + required: + - version + x-examples: + example: + version: fe75bd065ff48b91c35fe8ff842f986c + street_1: 300 3rd Street + street_2: + city: San Francisco + state: CA + zip: '94107' + Address: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + street_1: + type: + - string + - 'null' + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: + - string + - 'null' + readOnly: false + state: + type: + - string + - 'null' + readOnly: false + zip: + type: + - string + - 'null' + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: + - string + - 'null' + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + example: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + Department: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable" + - type: object + properties: + uuid: + type: string + description: The UUID of the department + company_uuid: + type: string + description: The UUID of the company + title: + type: string + description: Name of the department + employees: + type: array + description: Array of employees assigned to the department. + items: + properties: + uuid: + type: string + contractors: + type: array + description: Array of contractors assigned to the department. + items: + properties: + uuid: + type: string + x-examples: + example: + uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Stage Hand + version: d90440dd464601d1c8f4e9e240dfb7a6 + employees: + - uuid: 41199375-a999-4414-9f40-d9bf596b134d + contractors: + - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 + example_created: + uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Stage Hand + version: d90440dd464601d1c8f4e9e240dfb7a6 + employees: [] + contractors: [] + Department-List: + type: array + items: + "$ref": "#/components/schemas/Department" + x-examples: + example: + - uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Stage Hand + version: d90440dd464601d1c8f4e9e240dfb7a6 + employees: + - uuid: 41199375-a999-4414-9f40-d9bf596b134d + contractors: [] + - uuid: ec5c8a85-3233-4f39-a9f5-fb1ab7b5f5f3 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Actors + version: 34f39a30b45d077cb83aed2df4810d74 + employees: + - uuid: 7ee4aca1-814b-4034-b0f8-07f93cc679d1 + contractors: [] + - uuid: 1802465d-4f68-4865-920c-1307ab095f12 + company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e + title: Band + version: 1fe3076d35ef7c97d0ae68c5f4df0acd + employees: + - uuid: a73955be-c009-44dc-915e-6246e2bdedbb + contractors: + - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 + Department-Create-Request-Body: + type: object + properties: + title: + type: string + description: Name of the department + example: Stage Hand + required: + - title + Department-Update-Request-Body: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Department-Create-Request-Body" + Department-People-Request-Body: + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + employees: + type: array + description: Array of employees to add or remove from the department + items: + type: object + properties: + uuid: + type: string + contractors: + type: array + description: Array of contractors to add or remove from the department + items: + type: object + properties: + uuid: + type: string + Child-Support-Data: + description: Child Support agency data + type: object + properties: + agencies: + type: array + description: State child support agencies + items: + type: object + properties: + state: + type: string + description: Two letter state abbreviation + name: type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - schemas: - Versionable-Required: + description: Name of state child support agency + manual_payment_required: + type: boolean + description: 'Specifies if remitting payment to the agency is required outside of Gusto. If true, Gusto includes garnishment amounts for this agency in payroll calculation, but does not debit for or remit payment to the agency automatically. As of September 2024, only garnishments for South Carolina Integrated Child Support Services require manual payment. ' + fips_codes: + type: array + description: FIPS codes for state or county child support orders + items: + type: object + properties: + code: + type: string + description: FIPS code for state or county + county: + type: + - string + - 'null' + description: Name of county in the state for the corresponding FIPS code. When `null` the FIPS code applies state wide. + required_attributes: + type: array + description: Describes which child support case identifying attributes are required for this agency. While most agencies only require a single identifier, some (e.g. OH) require multiple identifiers. + items: + type: object + properties: + key: + type: string + description: A required attribute when creating a garnishment for this state agency. The current values are listed as an enum; though unlikely, values could be added if state agency requirements change in the future. + enum: + - case_number + - order_number + - remittance_number + label: + type: string + description: A human readable name of the attribute, e.g. CSE Case Number + x-examples: + Example: + agencies: + - state: AK + name: Alaska Child Support Services Division + manual_payment_required: false + fips_codes: + - county: + code: '0200000' + required_attributes: + - key: case_number + label: CSE Case Number + - state: OH + name: Ohio Office of Child Support Enforcement + manual_payment_required: false + fips_codes: + - county: + code: '39000' + required_attributes: + - key: case_number + label: CSE Case Number + - key: order_number + label: Order Identifier + Employee-Onboarding-Document: + type: object + description: Configuration for which onboarding documents (e.g. Form I-9) are required for an employee during onboarding. + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the onboarding documents config record. Null when no config has been saved yet. + readOnly: true + i9_document: + type: boolean + description: | + Whether to include Form I-9 for this employee during onboarding. + When true, the employee will be prompted to complete Form I-9 as part of their onboarding. + readOnly: true + x-examples: + config_with_i9: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + i9_document: true + config_without_i9: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + i9_document: false + config_not_yet_saved: + uuid: + i9_document: false + Employee-Onboarding-Documents-Config-Request: + type: object + description: Request body for updating an employee's onboarding documents configuration. + properties: + i9_document: + type: boolean + default: false + description: | + Whether to include Form I-9 for this employee during onboarding. + When true, the employee will be prompted to complete Form I-9 as part of their onboarding. + x-examples: + enable_i9: + i9_document: true + disable_i9: + i9_document: false + I9-Authorization: + type: object + description: An employee's I-9 authorization + properties: + uuid: + type: string + description: The UUID of the I-9 authorization + readOnly: true + form_uuid: + type: + - string + - 'null' + description: The UUID of the Form associated with this I-9 authorization. Use this with "Employee Forms" API endpoints. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + readOnly: true + authorization_status: + type: string + description: The employee's authorization status + enum: + - citizen + - noncitizen + - permanent_resident + - alien + document_type: + anyOf: + - type: string + enum: + - uscis_alien_registration_number + - form_i94 + - foreign_passport + - type: 'null' + description: The document's document type + has_document_number: + type: + - boolean + - 'null' + description: Whether or not a `document_number` exists for this document. + expiration_date: + type: + - string + - 'null' + description: The document's expiration date + country: + type: + - string + - 'null' + description: The document's country of issuance + employer_signed: + type: boolean + description: Whether the employer has signed the Form I-9 + readOnly: true + employee_signed: + type: boolean + description: Whether the employee has signed the Form I-9 + readOnly: true + additional_info: + type: + - string + - 'null' + description: Any additional notes + alt_procedure: + type: + - boolean + - 'null' + description: Whether an alternative procedure authorized by DHS to examine documents was used + required: + - uuid + - version + - authorization_status + - employer_signed + - employee_signed + x-tags: + - I-9 Verification + x-examples: + alien_with_foreign_passport: + uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + version: 6ae7ff720107b356bf13b1606f60b24f + form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + authorization_status: alien + document_type: foreign_passport + has_document_number: true + expiration_date: '2028-01-01' + country: Canada + employer_signed: false + employee_signed: false + additional_info: + alt_procedure: + citizen_authorization: + uuid: a12bc345-6789-4def-abcd-ef0123456789 + version: 52b7c567242cb7393b2a206ed6a86afcb + form_uuid: + authorization_status: citizen + document_type: + has_document_number: false + expiration_date: + country: + employer_signed: false + employee_signed: false + additional_info: + alt_procedure: + employer_signed_authorization: + uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + version: 8bc7393b2a206ed6a86afcb4d00c1785 + form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + authorization_status: citizen + document_type: + has_document_number: false + expiration_date: + country: + employer_signed: true + employee_signed: true + additional_info: Additional info + alt_procedure: false + I9-Authorization-Document: + type: object + description: An employee's I-9 verification document + properties: + uuid: + type: string + description: The UUID of the I-9 verification document + readOnly: true + document_type: + type: string + description: The document's document type + document_title: + type: string + description: The document's document title + expiration_date: + type: + - string + - 'null' + description: The document's expiration date + issuing_authority: + type: string + description: The document's issuing authority + required: + - uuid + - document_type + - document_title + - issuing_authority + x-tags: + - I-9 Verification + x-examples: + driver_license: + uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + document_type: driver_license + issuing_authority: USA + expiration_date: '2027-01-01' + document_title: Driver's license + ssn_card: + uuid: 9p2337f9-9b78-44b9-aeed-be4777b833a8 + document_type: ssn_card + issuing_authority: USA + document_title: Social Security card + I9-Authorization-Document-Option: + type: object + description: An employee's I-9 verification document option based on the authorization status + properties: + section: + type: string + description: The document option's section in the list of acceptable documents on the Form I-9 + readOnly: true + enum: + - A + - A1 + - A2 + - A3 + - B + - C + description: + type: string + description: The document option's description + readOnly: true + document_type: + type: string + description: The document option's document type + readOnly: true + document_title: + type: array + description: The document option's document titles + readOnly: true + items: + type: string + common_choice: + type: boolean + description: Whether the document is a common choice for I-9 verification + readOnly: true + required: + - section + - description + - document_type + - document_title + - common_choice + x-tags: + - I-9 Verification + x-examples: + example_a: + section: A + description: Foreign passport + document_type: foreign_passport_w_i94 + document_title: + - Foreign passport + common_choice: true + example_b: + section: B + description: Driver's license or state-issued ID card + document_type: driver_license + document_title: + - Driver's license + - State ID card + common_choice: true + example_c: + section: C + description: Social Security card + document_type: ssn_card + document_title: + - Social Security card + common_choice: true + I9-Authorization-Request-Body: + description: Request body for creating or updating an employee's I-9 authorization. + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. If supplied, this endpoint will update the existing I-9 authorization if it exists. + authorization_status: + type: string + description: | + The employee's authorization status. + - `citizen`: A citizen is someone who was born in the United States or is a naturalized citizen living in the United States. + - `noncitizen`: A noncitizen national is someone born in American Samoa, certain former citizens of the former Trust Territory of the Pacific Islands, and certain children of noncitizen nationals born abroad. + - `permanent_resident`: A lawful permanent resident is someone who is not a US citizen and who resides under legally recognized and lawfully recorded permanent residence as an immigrant. + - `alien`: Also referred to as a "noncitizen authorized to work". This includes anyone who is authorized to work in the United States but is not a US citizen, US national or lawful permanent resident. + enum: + - citizen + - noncitizen + - permanent_resident + - alien + document_type: + type: string + description: | + The type of document an employee holds, based on their authorization status. + - This is unused for authorization status `citizen` or `noncitizen`. + - If the authorization status is `permanent_resident`, this must be `uscis_alien_registration_number`. + - If the authorization status is `alien`, this is required and may be any of the valid values. + enum: + - uscis_alien_registration_number + - form_i94 + - foreign_passport + document_number: + type: string + description: | + The document number. Formatting depends on the employee's document type. + - For `document_type:'uscis_alien_registration_number'`, this must be a USCIS Number/A-Number, which is 7 to 9 digits. + - For `document_type:'form_i94'`, this must be a Form I-94 Admission Number, which is 11 digits. + - For `document_type:'foreign_passport'`, this must be the passport number. + + This is required when the document type is present. + country: + type: string + description: | + The document's country of issuance. + + This is required when the document type is `foreign_passport`. + expiration_date: + type: string + description: | + The document's expiration date. + + This may only be used when the authorization status is `alien`. + required: + - authorization_status + x-examples: + create_citizen: + authorization_status: citizen + update_alien_with_foreign_passport: + version: 52b7c567242cb7393b2a206ed6a86afcb + authorization_status: alien + document_type: foreign_passport + document_number: '01234567' + country: Canada + expiration_date: '2028-01-01' + I9-Authorization-Employer-Sign-Request-Body: + description: Request body for employer signing an employee's Form I-9. + type: object + properties: + signature_text: + type: string + description: The signature + signer_title: + type: string + description: The signer's job title + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + agree: + type: boolean + description: Whether you agree to sign electronically + additional_info: + type: string + description: Any additional notes + alt_procedure: + type: boolean + description: Whether an alternative procedure authorized by DHS to examine documents was used + required: + - signature_text + - signer_title + - agree + x-examples: + employer_sign: + signature_text: Jane Doe + signer_title: Admin + signed_by_ip_address: 192.168.0.1 + agree: true + I9-Authorization-Documents-Request-Body: + description: Request body for creating an employee's I-9 authorization verification documents. + type: object + properties: + documents: + type: array + description: An array of I-9 verification documents. Every request must contain the complete list of documents for the employee, as previous records are replaced. + items: type: object properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + document_type: + type: string + description: The document type. Use the document options endpoint to get the possible values. + example: us_passport + document_title: + type: string + description: The document title associated with the document type + example: US Passport + document_number: + type: string + description: The document's document number + example: F12345678 + expiration_date: + type: string + description: The document's expiration date + example: '2026-01-01' + issuing_authority: + type: string + description: The document's issuing authority + example: USA required: - - version - Versionable: + - document_type + - document_title + - issuing_authority + required: + - documents + x-examples: + create_documents: + documents: + - document_type: us_passport + document_title: US passport + document_number: F12345678 + expiration_date: '2035-04-01' + issuing_authority: US Department of State + Rehire-Body: + type: object + properties: + effective_date: + type: string + description: The day when the employee returns to work. + example: '2023-06-30' + file_new_hire_report: + type: boolean + description: The boolean flag indicating whether Gusto will file a new hire report for the employee. + work_location_uuid: + type: string + description: The uuid of the employee's work location. + example: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 + employment_status: + type: string + description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. + enum: + - part_time + - full_time + - part_time_eligible + - variable + - seasonal + - not_set + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + required: + - effective_date + - file_new_hire_report + - work_location_uuid + Fast-Payment-Limit-Param: + type: string + description: Fast payment limit. This limit is an aggregate of all fast payrolls amount. This limit is only relevant when payment speed is 1-day or 2-day. + Payment-Speed-Param: + type: string + description: Gusto Embedded supports three payment speeds (1-day, 2-day, and 4-day). For next-day payments, funds are deposited in your team's bank account by the end of the next business day. Most people will see the funds arrive the next afternoon, but payments may arrive as late as the end of the business day. + enum: + - 1-day + - 2-day + - 4-day + Fast-Payment-Limit-Required-Body: + type: object + properties: + fast_payment_limit: + "$ref": "#/components/schemas/Fast-Payment-Limit-Param" + payment_speed: + "$ref": "#/components/schemas/Payment-Speed-Param" + required: + - fast_payment_limit + Payment-Speed-Required-Body: + type: object + properties: + fast_payment_limit: + "$ref": "#/components/schemas/Fast-Payment-Limit-Param" + payment_speed: + "$ref": "#/components/schemas/Payment-Speed-Param" + required: + - payment_speed + Historical-Employee-Body: + type: object + description: | + Request body for creating or updating a **historical employee**—someone who already separated from the company and must appear on year-to-date or tax filings without receiving ongoing payroll. + + Send this object under the JSON root key `employee`. All dates are ISO 8601 (`YYYY-MM-DD`). Use a `work_address.location_uuid` returned from your company locations API for an active work site. + properties: + first_name: + type: string + description: Legal first name as it appears on government-issued identification. + example: Soren + middle_initial: + type: string + description: Single middle initial, if any. + example: A + last_name: + type: string + description: Legal last name as it appears on government-issued identification. + example: Kierkegaard + preferred_first_name: + type: string + description: Preferred given name for display; omit when the same as legal first name. + example: Angel + date_of_birth: + type: string + format: date + description: Date of birth (YYYY-MM-DD). + example: '1995-05-05' + ssn: + type: string + pattern: "[0-9]{9}" + description: 'Nine-digit U.S. Social Security number **without** dashes or spaces. Must pass Gusto/SSA validation in production; use a valid test SSN in sandbox environments. + +' + example: '123456294' + work_address: + type: object + description: Primary work location for this historical employment row. + required: + - location_uuid + properties: + location_uuid: + type: string + format: uuid + description: UUID of a company work location from the company locations response. + example: 1da85d35-1910-40a7-9c1f-8e2b3d4c5a6f + home_address: + type: object + description: Residential address on file for tax withholding and compliance mail. + properties: + street_1: + type: string + description: Street address line 1. + example: 55 Mission St + street_2: + type: + - string + - 'null' + description: Apartment, suite, unit, or building (optional). + example: Floor 3 + city: + type: string + description: City. + example: San Francisco + state: + type: string + description: Two-letter U.S. state or territory postal abbreviation. + example: CA + zip: + type: string + description: ZIP or ZIP+4. + example: '94105' + x-speakeasy-name-override: zip_code + required: + - street_1 + - city + - state + - zip + termination: + type: object + description: End of the historical employment period. + required: + - effective_date + properties: + effective_date: + type: string + format: date + description: Last day of employment (termination date). This is recorded on the employment; use the calendar date the person stopped working for the company. + example: '2022-01-01' + email: + type: string + format: email + description: Optional. When provided, stored on the employee record for notifications and profile. + example: soren.kierkegaard@example.com + job: + type: object + description: Hire date for the historical job used to build employments and filings. + required: + - hire_date + properties: + hire_date: + type: string + format: date + description: First calendar day the employee was employed in this role at the company. + example: '2020-01-01' + employee_state_taxes: + type: object + description: Workers' compensation fields for Washington (WA) or Wyoming (WY) when the work address is in those states; omit when not applicable. + properties: + wc_covered: + type: boolean + description: Whether this job is eligible for workers' compensation coverage in the states of Washington (WA) or Wyoming (WY). + example: true + wc_class_code: + type: string + description: The risk class code for workers' compensation in Washington or Wyoming state. For Washington, visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. For Wyoming you can search for the code online using [WY Workforce Services website](https://dws.wyo.gov/dws-division/workers-compensation/) or call the agency at (307) 235-3217. + example: '051000' + required: + - first_name + - last_name + - date_of_birth + - ssn + - work_address + - home_address + - job + - termination + x-examples: + typical_historical_employee: + first_name: Soren + middle_initial: A + last_name: Kierkegaard + preferred_first_name: Angel + date_of_birth: '1995-05-05' + ssn: '123456294' + email: soren.kierkegaard@example.com + work_address: + location_uuid: 1da85d35-1910-40a7-9c1f-8e2b3d4c5a6f + home_address: + street_1: 55 Mission St + street_2: Floor 3 + city: San Francisco + state: CA + zip: '94105' + job: + hire_date: '2020-01-01' + termination: + effective_date: '2022-01-01' + Pay-Schedule-Assignment-Body: + type: object + properties: + type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. + hourly_pay_schedule_uuid: + type: string + description: Pay schedule for hourly employees. + salaried_pay_schedule_uuid: + type: string + description: Pay schedule for salaried employees. + default_pay_schedule_uuid: + type: string + description: Default pay schedule for employees. + partial_assignment: + type: boolean + description: Indicates whether the request provides pay schedule assignments for a partial list of employees or departments of the company. By default, this is set to false. + employees: + type: array + description: List of employees and their pay schedules. + items: type: object properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - Employee-Address: - allOf: - - "$ref": "#/components/schemas/Address" - - type: object + employee_uuid: + type: string + description: Employee UUID + pay_schedule_uuid: + type: string + description: Pay schedule UUID + departments: + type: array + description: List of departments and their pay schedules. + items: + type: object + properties: + department_uuid: + type: string + description: Department UUID + pay_schedule_uuid: + type: string + description: Pay schedule UUID + required: + - type + Form-Document-Content-Type-Type: + type: + - string + - 'null' + description: The content type of the associated document. Most forms are PDFs with a content type of `application/pdf`. Some tax file packages will be zip files (containing PDFs) with a content type of `application/zip`. This attribute will be `null` when the document has not been prepared. + readOnly: true + Form: + title: Form + type: object + properties: + uuid: + type: string + description: The UUID of the form + readOnly: true + employee_uuid: + type: string + description: The UUID of the employee to which the form belongs, if applicable. + readOnly: true + name: + type: string + description: The type identifier of the form + readOnly: true + title: + type: string + description: The title of the form + readOnly: true + description: + type: string + description: The description of the form + readOnly: true + draft: + type: boolean + description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. + readOnly: true + year: + type: + - integer + - 'null' + description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A W2 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. + readOnly: true + quarter: + type: + - integer + - 'null' + description: The quarter of this form. For some forms, e.g. tax forms, this is the calendar quarter which this form represents. An Employer's Quarterly Federal Tax Return (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year value of 2022). This value is nullable and will not be present on all forms. + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. + readOnly: true + document_content_type: + "$ref": "#/components/schemas/Form-Document-Content-Type-Type" + x-examples: + Example: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + name: company_direct_deposit + title: Direct Deposit Authorization + description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. + draft: false + year: + quarter: + requires_signing: true + document_content_type: application/pdf + employee_form: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + employee_uuid: c5fdae67-b148-4b52-8b33-1384024a1256 + name: w4_federal + title: 'Form W-4: 2024' + description: Form W-4 determines how much federal income tax your employer will withhold from your pay. + draft: false + year: 2024 + quarter: + requires_signing: true + document_content_type: application/pdf + quarterly_tax_form: + uuid: 7a2b9f3e-1c4d-4e5f-8a6b-2d3e4f5a6b7c + name: form_941 + title: 'Form 941: Q2 2024' + description: Employer's Quarterly Federal Tax Return for the second quarter of 2024. + draft: false + year: 2024 + quarter: 2 + requires_signing: false + document_content_type: application/pdf + sandbox_w2: + uuid: bf5b2496-26df-436e-b465-eae4ed5c8021 + employee_uuid: 19394e76-a866-4570-b237-9a26b0163907 + name: US_W-2 + title: 'Draft Form W-2: 2021' + description: Form W-2 records your annual wages and taxes. + draft: true + year: 2021 + quarter: + requires_signing: false + document_content_type: application/pdf + x-tags: + - Forms + required: + - uuid + Form_1099: + title: Form + type: object + properties: + uuid: + type: string + description: The UUID of the form + readOnly: true + name: + type: string + description: The type identifier of the form + readOnly: true + title: + type: string + description: The title of the form + readOnly: true + description: + type: string + description: The description of the form + readOnly: true + draft: + type: boolean + description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. + readOnly: true + year: + type: + - integer + - 'null' + description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A 1099 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. + readOnly: true + quarter: + type: + - integer + - 'null' + description: The quarter of this form. This value is currently always null since it is not present on any contractor forms. + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. + readOnly: true + document_content_type: + "$ref": "#/components/schemas/Form-Document-Content-Type-Type" + contractor_uuid: + type: string + description: The contractor UUID + readOnly: true + x-examples: + Example: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + name: US_1099 + title: 'Form 1099: 2020' + description: Form 1099 records your annual income as a contractor. + draft: false + requires_signing: false + year: 2020 + quarter: + document_content_type: application/pdf + contractor_uuid: 123dd616-6dbc-4724-938a-403f6217a933 + sandbox_1099: + uuid: 29afb141-2256-431d-90e0-1c7344222342 + contractor_uuid: b68484a9-4487-4ee5-bafc-4245133a426c + name: US_1099 + title: 'Form 1099: 2022' + description: Form 1099 records your annual income as a contractor. + draft: true + requires_signing: false + year: 2022 + quarter: + document_content_type: application/pdf + x-tags: + - Forms + required: + - uuid + Form-Pdf: + title: Form Pdf + type: object + properties: + uuid: + type: string + description: the UUID of the form + readOnly: true + document_url: + type: + - string + - 'null' + description: the URL of the form + document_content_type: + "$ref": "#/components/schemas/Form-Document-Content-Type-Type" + x-examples: + Example: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + document_url: https://app.gusto-demo.com/assets/forms/7757842065202782/original/form.pdf?1633667020 + document_content_type: application/pdf + document_not_ready: + uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 + document_url: + document_content_type: + required: + - uuid + Document: + title: Document + type: object + properties: + uuid: + type: string + description: The UUID of the document + readOnly: true + title: + type: string + description: The title of the document + readOnly: true + name: + type: string + description: The type identifier of the document + readOnly: true + recipient_type: + type: string + description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) + enum: + - Company + - Employee + - Contractor + readOnly: true + recipient_uuid: + type: string + description: Unique identifier for the recipient associated with the document + readOnly: true + pages: + type: array + description: List of the document's pages and associated image URLs. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. + items: + type: object + properties: + image_url: + type: string + description: Image URL for the page + page_number: + type: integer + description: Page number + readOnly: true + fields: + type: array + description: List of the document's fields and associated data. Values are set for auto-filled fields. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. + items: + type: object + properties: + key: + type: + - string + - 'null' + description: Unique identifier of the field. May be null for custom fields that do not correspond to a known Gusto-managed key mapping. + value: + type: + - string + - 'null' + description: Auto-filled value of the field + x: + type: + - integer + - 'null' + description: X-coordinate location of the field on the page. May be null when the field has no positioning information. + "y": + type: + - integer + - 'null' + description: Y-coordinate location of the field on the page. May be null when the field has no positioning information. + width: + type: + - integer + - 'null' + description: Width of the field. May be null when the field has no positioning information. + height: + type: + - integer + - 'null' + description: Height of the field. May be null when the field has no positioning information. + page_number: + type: + - integer + - 'null' + description: Page number of the field. May be null when the field has no positioning information. + data_type: + type: string + description: The field's data type + required: + type: boolean + description: Whether the field is required + readOnly: true + signed_at: + type: + - string + - 'null' + description: When the document was signed (will be `null` if unsigned) + readOnly: true + description: + type: string + description: The description of the document + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. + draft: + type: boolean + description: If the document is in a draft state + readOnly: true + year: + type: + - integer + - 'null' + description: The year of this document. This value is nullable and will not be present on all documents. + readOnly: true + quarter: + type: + - integer + - 'null' + description: The quarter of this document. This value is nullable and will not be present on all documents. + readOnly: true + x-examples: + Example: + uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b + title: Taxpayer Identification (Form W-9) + name: taxpayer_identification_form_w_9 + recipient_type: Contractor + recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 + pages: + - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/0.jpg + page_number: 0 + - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/1.jpg + page_number: 1 + fields: + - key: text1596141656513 + value: + x: 69 + "y": 94 + width: 261 + height: 13 + page_number: 0 + data_type: text + required: true + - key: optional_text1596141704672 + value: + x: 69 + "y": 118 + width: 262 + height: 13 + page_number: 0 + data_type: text + required: false + signed_at: + description: Form W-9, Request for Taxpayer Identification Number and Certification + requires_signing: true + draft: false + year: + quarter: + x-tags: + - Documents + Document-Signed: + title: Document Signed + type: object + properties: + uuid: + type: string + description: The UUID of the document + readOnly: true + title: + type: string + description: The title of the document + readOnly: true + name: + type: string + description: The type identifier of the document + readOnly: true + recipient_type: + type: string + description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) + enum: + - Company + - Employee + - Contractor + readOnly: true + recipient_uuid: + type: string + description: Unique identifier for the recipient associated with the document + readOnly: true + pages: + type: array + description: List of the document's pages and associated image URLs. + items: + type: object + properties: + image_url: + type: string + description: Image URL for the page + page_number: + type: integer + description: Page number + readOnly: true + fields: + type: array + description: List of the document's fields and associated data. Values reflect the data provided at signing. + items: + type: object + properties: + key: + type: + - string + - 'null' + description: Unique identifier of the field. May be null for custom fields that do not correspond to a known Gusto-managed key mapping. + value: + type: + - string + - 'null' + description: Value of the field + x: + type: + - integer + - 'null' + description: X-coordinate location of the field on the page. May be null when the field has no positioning information. + "y": + type: + - integer + - 'null' + description: Y-coordinate location of the field on the page. May be null when the field has no positioning information. + width: + type: + - integer + - 'null' + description: Width of the field. May be null when the field has no positioning information. + height: + type: + - integer + - 'null' + description: Height of the field. May be null when the field has no positioning information. + page_number: + type: + - integer + - 'null' + description: Page number of the field. May be null when the field has no positioning information. + data_type: + type: string + description: The field's data type + required: + type: boolean + description: Whether the field is required + readOnly: true + signed_at: + type: + - string + - 'null' + description: When the document was signed (will be `null` if unsigned) + readOnly: true + description: + type: string + description: The description of the document + readOnly: true + requires_signing: + type: boolean + description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. + draft: + type: boolean + description: If the document is in a draft state + readOnly: true + year: + type: + - integer + - 'null' + description: The year of this document. This value is nullable and will not be present on all documents. + readOnly: true + quarter: + type: + - integer + - 'null' + description: The quarter of this document. This value is nullable and will not be present on all documents. + readOnly: true + x-examples: + Example: + uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b + title: Taxpayer Identification (Form W-9) + name: taxpayer_identification_form_w_9 + recipient_type: Contractor + recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 + signed_at: '2024-09-03T16:39:22.000-07:00' + description: Form W-9, Request for Taxpayer Identification Number and Certification + requires_signing: false + draft: false + year: + quarter: + x-tags: + - Documents + Document-Pdf: + title: Document Pdf + type: object + properties: + uuid: + type: string + description: the UUID of the document + readOnly: true + document_url: + type: string + description: the URL of the document + x-examples: + Example: + uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b + document_url: https://app.gusto-demo.com/assets/personal_documents/23/original.pdf?1724367941 + x-tags: + - Documents + Company-Industry-Selection-Required-Body: + type: object + properties: + title: + type: + - string + - 'null' + example: Computer Training + description: Industry title + naics_code: + type: string + pattern: "^\\d{6}$" + example: '611420' + description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. + sic_codes: + type: array + description: A list of Standard Industrial Classification (SIC) codes, which are four digit numbers that categorize the industries that companies belong to based on their business activities. If sic_codes is not passed in, we will perform an internal lookup with `naics_code`. + items: + type: string + pattern: "^\\d{4}$" + example: '8243' + required: + - naics_code + Industry: + title: Industry + type: object + properties: + company_uuid: + type: string + description: Company UUID + readOnly: true + title: + type: + - string + - 'null' + example: Computer Training + description: Industry title + readOnly: true + naics_code: + type: + - string + - 'null' + example: '611420' + description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. + sic_codes: + type: array + description: A list of Standard Industrial Classification (SIC) codes, which are four digit numbers that categorize the industries that companies belong to based on their business activities. If sic_codes is not passed in, we will perform an internal lookup with `naics_code`. + items: + type: string + example: '8243' + x-examples: + Example: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + naics_code: '611420' + sic_codes: + - '8243' + title: Computer Training + success_status: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + naics_code: '231208' + sic_codes: + - '1500' + title: Construction + x-tags: + - Industry + External-Payroll: + description: The representation of an external payroll. + type: object + x-tags: + - External Payrolls + title: '' + properties: + uuid: + type: string + description: The UUID of the external payroll. + readOnly: true + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + check_date: + type: string + description: External payroll's check date. + readOnly: true + payment_period_start_date: + type: string + description: External payroll's pay period start date. + readOnly: true + payment_period_end_date: + type: string + description: External payroll's pay period end date. + readOnly: true + status: + type: string + enum: + - unprocessed + - processed + description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. + readOnly: true + external_payroll_items: + type: array + description: External payroll items for employees + readOnly: true + items: + type: object + properties: + employee_uuid: + type: string + earnings: + type: array + items: + type: object properties: - uuid: - type: string - description: The UUID of the employee address - employee_uuid: - type: string - description: The UUID of the employee - effective_date: - type: string - format: date - description: The date the employee started living at the address. - courtesy_withholding: - type: boolean - description: Determines if home taxes should be withheld and paid for employee. - example: - uuid: 9557fe01-f8f8-4c14-a61c-ca6221a9f118 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - street_1: 333 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - effective_date: '2021-01-01' - courtesy_withholding: true - Employee-Work-Address: + amount: + type: string + format: float + hours: + type: string + format: float + earning_type: + type: string + earning_id: + type: integer + benefits: + type: array + items: + type: object + properties: + benefit_id: + type: integer + company_contribution_amount: + type: string + format: float + employee_deduction_amount: + type: string + format: float + taxes: + type: array + items: + type: object + properties: + tax_id: + type: integer + amount: + type: string + format: float + applicable_earnings: + type: array + description: Applicable earnings based on company provisioning. + readOnly: true + items: type: object properties: - uuid: - type: string + earning_type: + type: string + earning_id: + type: number + name: + type: string + input_type: + type: string + category: + type: string + applicable_benefits: + type: + - array + - 'null' + description: Applicable benefits based on company provisioning. + readOnly: true + items: + type: object + properties: + id: + type: integer + description: + type: string + active: + type: boolean + applicable_taxes: + type: array + description: Applicable taxes based on company provisioning. + readOnly: true + items: + type: object + properties: + id: + type: integer + name: + type: string + employer_tax: + type: boolean + description: Some taxes may have an amount withheld from the employee and an amount withheld from the employer, e.g. Social Security. A `true` value indicates this is the employer's amount. + resident_tax: + type: boolean + description: Some taxes may have different rates or reporting requirements depending on if the employee is a resident or non-resident of the tax jurisdiction. + metadata: + type: object + description: Stores metadata of the external payroll. + readOnly: true + properties: + deletable: + type: boolean + description: Determines if the external payroll can be deleted. + readOnly: true + x-examples: + Example: + uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 + check_date: '2022-06-03' + payment_period_start_date: '2022-05-15' + payment_period_end_date: '2022-05-30' + status: unprocessed + external_payroll_items: + - employee_uuid: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca + earnings: + - amount: '10000.0' + hours: '0.0' + earning_type: CompanyPayType + earning_id: 1 + - amount: '500.0' + hours: '0.0' + earning_type: CompanyEarningType + earning_id: 4 + benefits: + - benefit_id: 22 + company_contribution_amount: '100.0' + employee_deduction_amount: '50.0' + - benefit_id: 25 + company_contribution_amount: '0.0' + employee_deduction_amount: '300.0' + taxes: + - tax_id: 1 + amount: '400.0' + - tax_id: 2 + amount: '60.0' + applicable_earnings: + - earning_type: CompanyPayType + earning_id: 1 + name: Regular Wages + input_type: amount + category: default + - earning_type: CompanyEarningType + earning_id: 4 + name: Cash Tips + input_type: amount + category: default + applicable_benefits: + - id: 22 + description: Kaiser + active: true + - id: 25 + description: HSA + active: true + applicable_taxes: + - id: 1 + name: Federal Income Tax + employer_tax: false + resident_tax: false + - id: 2 + name: Social Security + employer_tax: false + resident_tax: false + metadata: + deletable: true + required: + - uuid + Webhook-Subscription: + description: The representation of webhook subscription. + type: object + x-tags: + - Webhooks + title: '' + properties: + uuid: + type: string + description: The UUID of the webhook subscription. + readOnly: true + url: + type: string + description: The webhook subscriber URL. Updates will be POSTed to this URL. + readOnly: true + status: + type: string + enum: + - pending + - verified + - removed + - unreachable + description: The status of the webhook subscription. + readOnly: true + subscription_types: + type: array + description: Receive updates for these types. + readOnly: false + items: + type: string + enum: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - Signatory + x-examples: + Example: + uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + url: https://partner-app.com/subscriber + status: verified + subscription_types: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - Signatory + Pending: + uuid: a1b2c3d4-5678-90ab-cdef-1234567890ab + url: https://partner-app.com/webhooks + status: pending + subscription_types: + - Company + - Employee + required: + - uuid + Webhook-Verification-Token-Response: + description: The response from requesting a webhook subscription verification token. + type: object + x-tags: + - Webhooks + title: '' + properties: + message: + type: string + description: A message indicating the verification token has been sent. + x-examples: + Example: + message: Success! The subscriber will be notified with the verification token + External-Payroll-Basic: + description: The representation of an external payroll with minimal information. + type: object + x-tags: + - External Payrolls + title: '' + properties: + uuid: + type: string + description: The UUID of the external payroll. + readOnly: true + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + check_date: + type: string + description: External payroll's check date. + readOnly: true + payment_period_start_date: + type: string + description: External payroll's pay period start date. + readOnly: true + payment_period_end_date: + type: string + description: External payroll's pay period end date. + readOnly: true + status: + type: string + enum: + - unprocessed + - processed + description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. + readOnly: true + x-examples: + Example: + uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 + check_date: '2022-06-03' + payment_period_start_date: '2022-05-15' + payment_period_end_date: '2022-05-30' + status: unprocessed + required: + - uuid + External-Payroll-Tax-Suggestions: + description: The representation of an external payroll with minimal information. + type: object + x-tags: + - External Payrolls + title: '' + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + tax_suggestions: + type: array + description: Possible tax liabilities selections. + readOnly: true + items: + type: object + properties: + tax_id: + type: integer + description: The ID of the tax. + readOnly: true + amount: + type: string + description: Calculated tax amount. + readOnly: true + x-examples: + Example: + employee_uuid: d21848d5-446f-48a8-9430-30fbefeabda4 + tax_suggestions: + - tax_id: 1 + amount: '500.0' + - tax_id: 2 + amount: '100.0' + - tax_id: 4 + amount: '30.0' + Tax-Liabilities-Selections: + description: The representation of tax liabilities selections. + x-tags: + - External Payrolls + title: '' + type: object + properties: + tax_id: + type: integer + description: The ID of the tax. + readOnly: true + tax_name: + type: string + description: The name of the tax. + readOnly: true + description: + type: + - string + - 'null' + description: A description of the tax, providing additional detail about the tax type. + readOnly: true + last_unpaid_external_payroll_uuid: + type: + - string + - 'null' + description: The UUID of last unpaid external payroll. + readOnly: true + possible_liabilities: + type: array + description: Possible tax liabilities selections. + readOnly: true + items: + type: object + properties: + liability_amount: + type: string + description: Liability amount. + readOnly: true + payroll_check_date: + type: + - string + - 'null' + description: The external payroll check date. + readOnly: true + external_payroll_uuid: + type: + - string + - 'null' + description: The UUID of the external payroll. + readOnly: true + x-examples: + Example: + tax_id: 1 + tax_name: Federal Income Tax + description: Employee Federal Income Tax + last_unpaid_external_payroll_uuid: + possible_liabilities: + - liability_amount: '0.0' + payroll_check_date: + external_payroll_uuid: + - liability_amount: '3000.0' + payroll_check_date: '2022-06-01' + external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 + External-Payroll-Create-Request: + type: object + description: The request body for creating an external payroll. + x-tags: + - External Payrolls + required: + - check_date + - payment_period_start_date + - payment_period_end_date + properties: + check_date: + type: string + format: date + description: The check date of the external payroll. + example: '2022-06-03' + payment_period_start_date: + type: string + format: date + description: The start date of the external payroll payment period. + example: '2022-05-15' + payment_period_end_date: + type: string + format: date + description: The end date of the external payroll payment period. + example: '2022-05-30' + External-Payroll-Update-Request: + type: object + description: The request body for updating an external payroll with employee payroll items. + x-tags: + - External Payrolls + required: + - external_payroll_items + properties: + replace_fields: + type: boolean + description: Patch update external payroll items when set to true, otherwise it will overwrite the previous changes. + external_payroll_items: + type: array + description: Payroll items for each employee in the external payroll. + items: + type: object + required: + - employee_uuid + properties: + employee_uuid: + type: string + format: uuid + description: The UUID of the employee. + example: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca + earnings: + type: array + description: Earnings for the employee. + items: + type: object + properties: + earning_type: + type: string + enum: + - CompanyPayType + - CompanyEarningType + description: The earning type class name. + example: CompanyPayType + earning_id: + type: integer + description: The ID of the earning type. + example: 1 + amount: + type: string + format: float + description: The earning amount in dollars. + example: '10000.00' + hours: + type: string + format: float + description: The number of hours worked. + example: '80.0' + benefits: + type: array + description: Benefits for the employee. + items: + type: object + properties: + benefit_id: + type: integer + description: The ID of the company benefit. + example: 22 + company_contribution_amount: + type: string + format: float + description: The company contribution amount in dollars. + example: '100.00' + employee_deduction_amount: + type: string + format: float + description: The employee deduction amount in dollars. + example: '50.00' + taxes: + type: array + description: Taxes for the employee. + items: + type: object + properties: + tax_id: + type: integer + description: The ID of the tax. + example: 1 + amount: + type: string + format: float + description: The tax amount in dollars. + example: '400.00' + Tax-Liability-Selections-Request: + type: object + description: The request body for updating tax liability selections. + x-tags: + - External Payrolls + required: + - liability_selections + properties: + liability_selections: + type: array + description: Tax liability selections to record for the company's external payrolls. + items: + type: object + required: + - tax_id + - last_unpaid_external_payroll_uuid + - unpaid_liability_amount + properties: + tax_id: + type: integer + description: The ID of the tax. + example: 1 + last_unpaid_external_payroll_uuid: + type: + - string + - 'null' + description: The UUID of the last external payroll with an unpaid liability for this tax. Set to `null` to indicate no liability. + example: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 + unpaid_liability_amount: + type: string + format: float + description: The total cumulative unpaid liability amount for this tax across all external payrolls up to and including the one specified by `last_unpaid_external_payroll_uuid`. + example: '47.5' + Admin: + title: Admin + type: object + description: The representation of an admin user in Gusto. + x-examples: + Example: + uuid: 987058cc-23ee-46e9-81ef-5cee086cceca + first_name: John + last_name: Smith + email: jsmith99@gmail.com + phone: '8009360383' + properties: + uuid: + type: string + description: The unique id of the admin. + email: + type: string + description: The email of the admin for Gusto's system. + first_name: + type: string + description: The first name of the admin. + last_name: + type: string + description: The last name of the admin. + phone: + type: + - string + - 'null' + description: The phone number of the admin. + x-tags: + - Admins + required: + - uuid + Admin-Create-Request: + type: object + description: The request body for creating a company admin. + required: + - first_name + - last_name + - email + properties: + first_name: + type: string + description: The first name of the admin. + example: John + last_name: + type: string + description: The last name of the admin. + example: Smith + email: + type: string + description: The email of the admin for Gusto's system. If the email matches an existing user, this will create an admin account for them. + example: jsmith99@gmail.com + Company: + title: Company + type: object + description: The representation of a company in Gusto. + properties: + ein: + type: string + description: The Federal Employer Identification Number of the company. + readOnly: true + entity_type: + description: The tax payer type of the company. + anyOf: + - type: string + enum: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + - type: 'null' + readOnly: true + contractor_only: + type: boolean + description: Whether the company only supports contractors. + tier: + type: + - string + - 'null' + description: The Gusto product tier of the company (not applicable to Embedded partner managed companies). + readOnly: true + enum: + - simple + - plus + - premium + - core + - complete + - concierge + - contractor_only + - basic + is_suspended: + type: boolean + description: Whether or not the company is suspended in Gusto. Suspended companies may not run payroll. + company_status: + type: string + description: The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. + enum: + - Approved + - Not Approved + - Suspended + readOnly: true + uuid: + type: string + description: A unique identifier of the company in Gusto. + readOnly: true + name: + type: string + description: The name of the company. + readOnly: true + slug: + type: string + description: The slug of the name of the company. + readOnly: true + trade_name: + type: + - string + - 'null' + description: The trade name of the company. + readOnly: true + is_partner_managed: + type: boolean + description: Whether the company is fully managed by a partner via the API + readOnly: true + is_high_risk_business: + type: boolean + description: Whether or not Gusto has identified the company as representing a high fraud risk. + readOnly: true + is_marijuana_business: + type: boolean + description: Whether or not the company is a marijuana-related business. + readOnly: true + pay_schedule_type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. + readOnly: true + join_date: + type: + - string + - 'null' + description: Company's first invoiceable event date + readOnly: true + funding_type: + description: Company's default funding type + anyOf: + - type: string + enum: + - ach + - reverse_wire + - wire_in + - partner_disbursement + - rtp + - line_of_credit + - type: 'null' + locations: + type: array + uniqueItems: false + description: The locations of the company. + items: + "$ref": "#/components/schemas/Company-Address" + readOnly: true + compensations: + type: object + description: The available company-wide compensation rates for the company. + properties: + hourly: + type: array + uniqueItems: true + description: The available hourly compensation rates for the company. + items: + type: object + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the hourly compensation rate. readOnly: true - description: The unique identifier of this work address. - effective_date: + name: type: string - description: The date the employee began working at this location. - active: - type: boolean + description: The name of the hourly compensation rate. + example: Overtime readOnly: true - description: Signifies if this address is the active work address for the current date - location_uuid: - type: string - description: UUID reference to the company location for this work address. - employee_uuid: - type: string - description: UUID reference to the employee for this work address. - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - street_1: - type: string + multiple: + type: number + description: The amount multiplied by the base rate of a job to calculate compensation. + example: 1.5 readOnly: true - street_2: - type: string + readOnly: true + readOnly: true + fixed: + type: array + uniqueItems: true + description: The available fixed compensation rates for the company. + items: + type: object + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the fixed compensation. readOnly: true - nullable: true - city: + name: type: string + description: The name of the fixed compensation. + example: Bonus + readOnly: true + readOnly: true + paid_time_off: + type: array + uniqueItems: true + description: The available types of paid time off for the company. + items: + type: object + properties: + uuid: + type: + - string + - 'null' + description: The UUID of the paid time off type. readOnly: true - state: + name: type: string + example: Vacation Hours + description: The name of the paid time off type. readOnly: true + readOnly: true + readOnly: true + readOnly: true + primary_signatory: + type: + - object + - 'null' + description: The primary signatory of the company. + properties: + uuid: + type: string + readOnly: true + description: The UUID of the company's primary signatory. + first_name: + type: string + readOnly: true + description: The company's primary signatory's first name. + middle_initial: + type: + - string + - 'null' + readOnly: true + description: The company's primary signatory's middle initial. + last_name: + type: string + readOnly: true + description: The company's primary signatory's last name. + phone: + type: string + readOnly: true + description: The company's primary signatory's phone number. + email: + type: string + readOnly: true + description: The company's primary signatory's email address. + home_address: + type: object + properties: + street_1: + type: string + readOnly: true + street_2: + type: + - string + - 'null' + readOnly: true + city: + type: string + readOnly: true + state: + type: string + readOnly: true zip: - type: string - readOnly: true + type: string + readOnly: true + x-speakeasy-name-override: zip_code country: - type: string - readOnly: true - default: USA - example: - uuid: 34925ef7-6234-440d-83b8-788a24d0d69a - employee_uuid: 2363b9c0-6625-4425-9261-47627fd68783 - location_uuid: aba6d0fd-7294-4997-b1a4-bc9268c45932 - effective_date: '2023-05-15' - active: true - version: 6a22da647ed391f184a212e6e83a541d - street_1: 977 Marks Viaduct - street_2: - city: Pink Hill - state: NC - zip: '28572' - country: USA - required: - - uuid - - version - Contractor-Address: - allOf: - - "$ref": "#/components/schemas/Address" - - type: object - properties: - contractor_uuid: - type: string - description: The UUID of the contractor - Address: - type: object - allOf: - - "$ref": "#/components/schemas/Versionable" - - type: object - properties: - street_1: - type: string - readOnly: false - street_2: - type: string - readOnly: false - nullable: true - city: - type: string - readOnly: false - state: - type: string - readOnly: false - zip: - type: string - readOnly: false - country: - type: string - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - example: - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - Department: - type: object - allOf: - - "$ref": "#/components/schemas/Versionable" - - type: object - properties: - uuid: - type: string - description: The UUID of the department - company_uuid: - type: string - description: The UUID of the company - title: - type: string - description: Name of the department - employees: - type: array - description: Array of employees assigned to the department. - items: - properties: - uuid: - type: string - contractors: - type: array - description: Array of contractors assigned to the department. - items: - properties: - uuid: - type: string - Employee: - title: Employee + type: string + readOnly: true + readOnly: true + description: The company's primary signatory's home address. + readOnly: true + primary_payroll_admin: + type: object + description: The primary payroll admin of the company. + properties: + first_name: + type: string + readOnly: true + description: The company's primary payroll admin's first name. + last_name: + type: string + readOnly: true + description: The company's primary payroll admin's last name. + phone: + type: + - string + - 'null' + readOnly: true + description: The company's primary payroll admin's phone number. + email: + type: string + readOnly: true + description: The company's primary payroll admin's email address. + x-examples: + success_status: + uuid: c7a07c73-a703-4462-9343-1b181182b6e0 + name: Shoppe Studios LLC + trade_name: Record Shoppe + is_partner_managed: true + tier: complete + locations: + - street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + - street_1: 644 Fay Vista + street_2: Suite 842 + city: Richmond + state: VA + zip: '23218' + country: USA + active: true + ein: 00-0000001 + entity_type: C-Corporation + pay_schedule_type: by_department + join_date: '2024-01-15' + funding_type: ach + slug: shoppe-studios-llc + is_suspended: false + company_status: Approved + is_high_risk_business: false + is_marijuana_business: false + contractor_only: false + compensations: + hourly: + - uuid: 7da6b57d-22f9-11f1-ad28-0242ac100003 + name: Overtime + multiple: 1.5 + - uuid: 7da6b5ec-22f9-11f1-ad28-0242ac100003 + name: Double overtime + multiple: 2 + - uuid: 7da6b22f-22f9-11f1-ad28-0242ac100003 + name: Regular + multiple: 1 + - uuid: 7da6b3ac-22f9-11f1-ad28-0242ac100003 + name: Outstanding vacation + multiple: 1 + - uuid: 7da6b532-22f9-11f1-ad28-0242ac100003 + name: Holiday + multiple: 1 + - uuid: 7da6b44e-22f9-11f1-ad28-0242ac100003 + name: Emergency sick - self care + multiple: 1 + - uuid: 7da6b49d-22f9-11f1-ad28-0242ac100003 + name: Emergency sick - caring for others + multiple: 1 + - uuid: 7da6b4e6-22f9-11f1-ad28-0242ac100003 + name: FMLA Public Health Emergency Leave + multiple: 1 + fixed: + - uuid: 7da68d82-22f9-11f1-ad28-0242ac100003 + name: Bonus + - uuid: 7da69024-22f9-11f1-ad28-0242ac100003 + name: Commission + - uuid: 7da69104-22f9-11f1-ad28-0242ac100003 + name: Paycheck Tips + - uuid: 7da6918f-22f9-11f1-ad28-0242ac100003 + name: Cash Tips + - uuid: 7da69216-22f9-11f1-ad28-0242ac100003 + name: Correction Payment + - uuid: 7da692a6-22f9-11f1-ad28-0242ac100003 + name: Severance + - uuid: 7da69356-22f9-11f1-ad28-0242ac100003 + name: Minimum Wage Adjustment + - uuid: + name: Reimbursement + paid_time_off: + - uuid: 7dcdcb77-22f9-11f1-ad28-0242ac100003 + name: Vacation Hours + - uuid: 7dcdcc8b-22f9-11f1-ad28-0242ac100003 + name: Sick Hours + - uuid: + name: Holiday Hours + primary_signatory: + uuid: 2d7cd96f-e2fb-4db7-8c04-99ef531b4527 + first_name: Alda + middle_initial: '' + last_name: Carter + phone: '4160000000' + email: louie.hessel7757869450111547@zemlak.biz + home_address: + street_1: 524 Roob Divide + street_2: Suite 565 + city: San Francisco + state: CA + zip: '94107' + country: USA + primary_payroll_admin: + first_name: Ian + last_name: Labadie + phone: 1-565-710-7559 + email: louie.hessel7757869450111547@zemlak.biz + x-tags: + - Companies + required: + - uuid + Company-Onboarding-Status: + description: The representation of a company's onboarding status + type: object + title: '' + x-examples: + Example: + uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 + onboarding_completed: false + onboarding_steps: + - title: Add Your Company's Addresses + id: add_addresses + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Enter Your Federal Tax Information + id: federal_tax_setup + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Select Industry + id: select_industry + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Add Your Bank Account + id: add_bank_info + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: false + requirements: [] + - title: Add Your Employees + id: add_employees + required: true + completed: true + completed_at: '2025-02-18T10:00:00Z' + skippable: true + requirements: + - add_addresses + - title: Enter Your State Tax Information + id: state_setup + required: true + completed: false + completed_at: + skippable: false + requirements: + - add_addresses + - add_employees + - title: Select a Pay Schedule + id: payroll_schedule + required: true + completed: false + completed_at: + skippable: false + requirements: [] + - title: Sign Documents + id: sign_all_forms + required: true + completed: false + completed_at: + skippable: false + requirements: + - add_employees + - federal_tax_setup + - state_setup + - add_bank_info + - payroll_schedule + - title: Verify Your Bank Account + id: verify_bank_info + required: true + completed: false + completed_at: + skippable: false + requirements: + - add_bank_info + x-tags: + - Companies + properties: + uuid: + type: string + description: the UUID of the company + onboarding_completed: + type: boolean + description: a boolean flag for the company's onboarding status + onboarding_steps: + type: array + description: a list of company onboarding steps + items: + title: Onboarding step type: object - description: The representation of an employee in Gusto. properties: - uuid: - type: string - description: The UUID of the employee in Gusto. - readOnly: true - first_name: - type: string - middle_initial: - type: string - nullable: true - last_name: - type: string - email: - type: string - description: The personal email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). - nullable: true - company_uuid: - type: string - description: The UUID of the company the employee is employed by. - readOnly: true - manager_uuid: - type: string - description: The UUID of the employee's manager. - readOnly: true - nullable: true - version: - type: string - description: The current version of the employee. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - readOnly: true - department: - type: string - description: The employee's department in the company. - nullable: true - readOnly: true - terminated: - type: boolean - description: Whether the employee is terminated. - readOnly: true - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - nullable: true - onboarded: - type: boolean - description: Whether the employee has completed onboarding. - readOnly: true - onboarding_status: - type: string - description: The current onboarding status of the employee - enum: - - onboarding_completed - - admin_onboarding_incomplete - - self_onboarding_pending_invite - - self_onboarding_invited - - self_onboarding_invited_started - - self_onboarding_invited_overdue - - self_onboarding_completed_by_employee - - self_onboarding_awaiting_admin_review - nullable: true - readOnly: true - onboarding_documents_config: - type: object - description: Configuration for an employee onboarding documents during onboarding - properties: - uuid: - type: string - nullable: true - description: The UUID of the onboarding documents config - readOnly: true - i9_document: - type: boolean - description: Whether to include Form I-9 for an employee during onboarding - readOnly: true - jobs: - type: array - items: - "$ref": "#/components/schemas/Job" - eligible_paid_time_off: - type: array - items: - "$ref": "#/components/schemas/Paid-Time-Off" - terminations: - type: array - items: - "$ref": "#/components/schemas/Termination" - garnishments: - type: array - items: - "$ref": "#/components/schemas/Garnishment" - custom_fields: - type: array - description: Custom fields are only included for the employee if the include param has the custom_fields value set - items: - "$ref": "#/components/schemas/Employee-Custom-Field" - date_of_birth: - type: string - nullable: true - readOnly: true - has_ssn: - type: boolean - description: Indicates whether the employee has an SSN in Gusto. - ssn: - type: string - description: Deprecated. This field always returns an empty string. - phone: - type: string - nullable: true - preferred_first_name: - type: string - description: '' - nullable: true - payment_method: - type: string - description: The employee's payment method - enum: - - Direct Deposit - - Check - default: Check - nullable: false - work_email: - type: string - description: The work email address of the employee. This is provided to support syncing users between our system and yours. You may not use this email address for any other purpose (e.g. marketing). - nullable: true - current_employment_status: - type: string - description: 'The current employment status of the employee. Full-time employees work 30+ hours per week. Part-time employees are split into two groups: those that work 20-29 hours a week, and those that work under 20 hours a week. Variable employees have hours that vary each week. Seasonal employees are hired for 6 months of the year or less.' - enum: - - full_time - - part_time_under_twenty_hours - - part_time_twenty_plus_hours - - variable - - seasonal - nullable: true - readOnly: true - required: - - uuid - - first_name - - last_name - readOnly: true - Employee-Onboarding-Status: - description: The representation of an employee's onboarding status. - type: object - title: Employee-Onboarding-Status - properties: - uuid: - type: string - description: Unique identifier for this employee. - onboarding_status: - type: string - description: One of the "onboarding_status" enum values. - onboarding_steps: - type: array - description: List of steps required to onboard an employee. - items: - title: Onboarding step - type: object - properties: - title: - type: string - description: User-friendly description of the onboarding step. - id: - type: string - description: String identifier for the onboarding step. - required: - type: boolean - description: When true, this step is required. - completed: - type: boolean - description: When true, this step has been completed. - requirements: - type: array - description: A list of onboarding steps required to begin this step. - items: - type: string - required: - - uuid - Company-Address: - description: The representation of a company's address in Gusto. - type: object - x-tags: - - Locations - title: '' - x-examples: - Company Address: - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - properties: - street_1: - type: string - readOnly: false - street_2: - type: string - readOnly: false - nullable: true - city: - type: string - readOnly: false - state: - type: string - readOnly: false - zip: - type: string - readOnly: false - country: - type: string - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - Location: - description: The representation of an address in Gusto. - type: object - title: '' - properties: - uuid: - type: string - description: The UUID of the location object. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - company_uuid: - type: string - description: The UUID for the company to which the location belongs. Only included if the location belongs to a company. - readOnly: true - phone_number: - type: string - readOnly: false - description: The phone number for the location. Required for company locations. Optional for employee locations. - street_1: - type: string - readOnly: false - street_2: - type: string - readOnly: false - nullable: true - city: - type: string - readOnly: false - state: - type: string - readOnly: false - zip: - type: string - readOnly: false - country: - type: string - readOnly: false - default: USA - active: - type: boolean - description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. - readOnly: true - mailing_address: - type: boolean - description: Specifies if the location is the company's mailing address. Only included if the location belongs to a company. - filing_address: - description: Specifies if the location is the company's filing address. Only included if the location belongs to a company. - type: boolean - created_at: - type: string - description: Datetime for when location is created - updated_at: - type: string - description: Datetime for when location is updated - required: - - uuid - Paid-Time-Off: - type: object - description: The representation of paid time off in Gusto. - properties: - name: - type: string - description: The name of the paid time off type. - enum: - - Vacation Hours - - Sick Hours - - Holiday Hours - readOnly: true - policy_name: - type: string - description: The name of the time off policy. - readOnly: true - policy_uuid: - type: string - description: The UUID of the time off policy. - readOnly: true - accrual_unit: - type: string - example: Hour - description: The unit the PTO type is accrued in. - readOnly: true - accrual_rate: - type: string - description: The number of accrual units accrued per accrual period. - readOnly: true - accrual_method: - type: string - example: unlimited - description: The accrual method of the time off policy - readOnly: true - accrual_period: - type: string - example: Year - description: The frequency at which the PTO type is accrued. - readOnly: true - accrual_balance: - type: string - description: The number of accrual units accrued. - readOnly: true - maximum_accrual_balance: - type: string - nullable: true - description: The maximum number of accrual units allowed. A null value signifies no maximum. - readOnly: true - paid_at_termination: - type: boolean - description: Whether the accrual balance is paid to the employee upon termination. - readOnly: true - Child-Support-Data: - description: Child Support agency data + title: + type: string + description: The display name of the onboarding step + id: + type: string + description: The string identifier for each onboarding step + enum: + - add_addresses + - federal_tax_setup + - select_industry + - add_bank_info + - add_employees + - state_setup + - payroll_schedule + - sign_all_forms + - verify_bank_info + - external_payroll + required: + type: boolean + description: The boolean flag indicating whether the step is required or optional + completed: + type: boolean + description: The boolean flag indicating whether the step is completed or not. + completed_at: + type: + - string + - 'null' + description: The ISO 8601 timestamp indicating when the onboarding step was completed. + skippable: + type: boolean + description: The boolean flag indicating whether the step can be skipped or not. + requirements: + type: array + description: A list of onboarding steps that are required to be completed in order to proceed with the current onboarding step. + items: + type: string + enum: + - add_addresses + - federal_tax_setup + - select_industry + - add_bank_info + - add_employees + - state_setup + - payroll_schedule + - sign_all_forms + - verify_bank_info + - external_payroll + required: + - uuid + Payment-Configs: + title: Payment-Configs + type: object + properties: + company_uuid: + type: string + description: Company uuid + readOnly: true + partner_uuid: + type: string + description: Partner uuid + readOnly: true + fast_payment_limit: + type: + - string + - 'null' + description: Payment limit for 1-day or 2-day payroll (string representation of decimal). + readOnly: true + payment_speed: + type: string + enum: + - 1-day + - 2-day + - 4-day + description: | + Payment speed. READ-ONLY. + - `1-day`: Next-day ACH (only for partners that opt in). + - `2-day`: Two-day ACH. + - `4-day`: Standard ACH. + readOnly: true + partner_owned_disbursement: + type: boolean + description: Whether the company is configured to use the partner-owned disbursement payment rail + readOnly: true + earned_fast_ach_blockers: + type: array + description: Blockers preventing the company from earning fast ACH payments + readOnly: true + items: type: object properties: - agencies: - type: array - description: State child support agencies - items: - type: object - properties: - state: - type: string - description: Two letter state abbreviation - name: - type: string - description: Name of state child support agency - manual_payment_required: - type: boolean - description: 'Specifies if remitting payment to the agency is required outside of Gusto. If true, Gusto includes garnishment amounts for this agency in payroll calculation, but does not debit for or remit payment to the agency automatically. As of September 2024, only garnishments for South Carolina Integrated Child Support Services require manual payment. + blocker_type: + type: string + description: The type of blocker + enum: + - minimum_days + - minimum_funded_payments + readOnly: true + threshold: + type: number + description: The threshold needed to unblock + readOnly: true + x-examples: + typical_payment_config: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 + fast_payment_limit: '5000.0' + payment_speed: 2-day + partner_owned_disbursement: false + earned_fast_ach_blockers: [] + payment_config_with_blockers: + company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 + partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 + fast_payment_limit: + payment_speed: 2-day + partner_owned_disbursement: false + earned_fast_ach_blockers: + - blocker_type: minimum_days + threshold: 15 + - blocker_type: minimum_funded_payments + threshold: 5 + x-tags: + - Payment Configs + Payment-Configs-Update-Request: + type: object + description: Request body for updating company payment configs. At least one of payment_speed, fast_payment_limit, or partner_owned_disbursement is required. + properties: + payment_configs: + type: object + properties: + payment_speed: + type: string + enum: + - 1-day + - 2-day + - 4-day + description: Desired payment speed. 1-day is only applicable to partners that opt in. + fast_payment_limit: + type: + - number + - 'null' + description: Payment limit for 1-day or 2-day payroll (in dollars). + partner_owned_disbursement: + type: boolean + description: Whether to use the partner-owned disbursement payment rail. + x-examples: + update_payment_speed_and_limit: + payment_configs: + payment_speed: 2-day + fast_payment_limit: 1000 + update_payment_speed_only: + payment_configs: + payment_speed: 4-day + Contractor-Body: + type: object + properties: + type: + type: string + description: The contractor type. + default: Individual + enum: + - Individual + - Business + wage_type: + type: string + description: 'The contractor’s wage type. ' - fips_codes: - type: array - description: FIPS codes for state or county child support orders - items: - type: object - properties: - code: - type: string - description: FIPS code for state or county - county: - type: string - nullable: true - description: Name of county in the state for the corresponding FIPS code. When `null` the FIPS code applies state wide. - required_attributes: - type: array - description: Describes which child support case identifying attributes are required for this agency. While most agencies only require a single identifier, some (e.g. OH) require multiple identifiers. - items: - type: object - properties: - key: - type: string - description: A required attribute when creating a garnishment for this state agency. The current values are listed as an enum; though unlikely, values could be added if state agency requirements change in the future. - enum: - - case_number - - order_number - - remittance_number - label: - type: string - description: A human readable name of the attribute, e.g. CSE Case Number - Garnishment-Child-Support: - description: Additional child support order details + enum: + - Fixed + - Hourly + start_date: + type: string + description: 'The day when the contractor will start working for the company. + +' + example: '2020-01-11' + hourly_rate: + type: string + description: The contractor’s hourly rate. This attribute is required if the wage_type is `Hourly`. + example: '40.0' + self_onboarding: + type: boolean + default: false + description: |- + Whether the contractor or the payroll admin will complete onboarding in Gusto. + Self-onboarding is recommended so that contractors receive Gusto accounts. + If self_onboarding is true, then email is required. + email: + type: string + description: The contractor’s email address. + first_name: + type: string + description: |- + The contractor’s first name. + This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. + last_name: + type: string + description: |- + The contractor’s last name. + This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. + middle_initial: + type: string + description: |- + The contractor’s middle initial. + This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. + file_new_hire_report: + type: boolean + default: false + description: |- + The boolean flag indicating whether Gusto will file a new hire report for the contractor. + This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. + work_state: + type: + - string + - 'null' + description: |- + State where the contractor will be conducting the majority of their work for the company. + This value is used when generating the new hire report. + This attribute is required for `Individual` contractors if `file_new_hire_report` is true and will be ignored for `Business` contractors. + ssn: + type: string + pattern: "[0-9]{9}" + description: |- + This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. + Social security number is needed to file the annual 1099 tax form. + business_name: + type: string + description: The name of the contractor business. This attribute is required for `Business` contractors and will be ignored for `Individual` contractors. + ein: + type: string + description: |- + The employer identification number of the contractor business. + This attribute is optional for `Business` contractors and will be ignored for `Individual` contractors. + is_active: + type: boolean + description: The status of the contractor. If the contractor's start date is in the future, updating this field to true means we are setting the start date to today. Attempting to deactivate a contractor while a dismissal is already scheduled, or reactivate while a rehire is already scheduled, will return a 422 error. Cancel the pending transition first using the appropriate cancel endpoint. + Contractor-Update-Request-Body: + description: Request body for updating a contractor. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Contractor-Body" + x-examples: + update_individual_contractor: + version: b48c46abfed1487b873b442334b3c4ff + start_date: '2021-01-01' + first_name: Chanel + last_name: Boyle + middle_initial: X + wage_type: Hourly + hourly_rate: '20.00' + is_active: true + update_business_contractor: + version: b48c46abfed1487b873b442334b3c4ff + start_date: '2020-01-11' + business_name: Contracting Solutions + ein: '991113334' + wage_type: Fixed + is_active: false + Contractor-Create-Request-Body: + description: Request body for creating a contractor. + type: object + required: + - type + - wage_type + - start_date + allOf: + - "$ref": "#/components/schemas/Contractor-Body" + x-examples: + create_individual_contractor: + type: Individual + wage_type: Fixed + first_name: Johnson + last_name: Johnson + start_date: '2020-04-01' + self_onboarding: true + email: johnson@johnson.com + file_new_hire_report: true + work_state: CA + create_business_contractor: + type: Business + wage_type: Fixed + business_name: Johnson-Johnson Contractors + start_date: '2020-04-01' + Contractor-Onboarding-Status-Update-Request-Body: + description: Request body for updating a contractor's onboarding status. + type: object + required: + - onboarding_status + properties: + onboarding_status: + type: string + description: The updated onboarding status for the contractor. + enum: + - admin_onboarding_incomplete + - admin_onboarding_review + - self_onboarding_not_invited + - self_onboarding_invited + - self_onboarding_started + - self_onboarding_review + - onboarding_completed + x-examples: + update_onboarding_status: + onboarding_status: onboarding_completed + Contractor: + description: The representation of a contractor (individual or business) in Gusto. + type: object + properties: + uuid: + type: string + description: The UUID of the contractor in Gusto. + readOnly: true + company_uuid: + type: string + description: The UUID of the company the contractor is employed by. + readOnly: true + wage_type: + type: string + enum: + - Fixed + - Hourly + description: The contractor's wage type, either "Fixed" or "Hourly". + is_active: + type: boolean + default: true + description: The status of the contractor with the company. + readOnly: true + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + type: + type: string + enum: + - Individual + - Business + description: 'The contractor''s type, either "Individual" or "Business". ' + first_name: + type: + - string + - 'null' + description: The contractor’s first name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. + last_name: + type: + - string + - 'null' + description: The contractor’s last name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. + middle_initial: + type: + - string + - 'null' + description: The contractor’s middle initial. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. + business_name: + type: + - string + - 'null' + description: The name of the contractor business. This attribute is required for “Business” contractors and will be ignored for “Individual” contractors. + ein: + type: + - string + - 'null' + description: The Federal Employer Identification Number of the contractor business. This attribute is optional for “Business” contractors and will be ignored for “Individual” contractors. + has_ein: + type: + - boolean + - 'null' + description: Whether company's Employer Identification Number (EIN) is present + email: + type: + - string + - 'null' + description: 'The contractor’s email address. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. ' + start_date: + type: string + description: The contractor's start date. + readOnly: true + address: + type: + - object + - 'null' + description: The contractor’s home address. + properties: + street_1: + type: string + readOnly: true + street_2: + type: + - string + - 'null' + readOnly: true + city: + type: string + readOnly: true + state: + type: string + readOnly: true + zip: + type: string + readOnly: true + x-speakeasy-name-override: zip_code + country: + type: string + readOnly: true + readOnly: true + hourly_rate: + type: string + example: '50.0' + description: The contractor’s hourly rate. This attribute is required if the wage_type is “Hourly”. + file_new_hire_report: + type: + - boolean + - 'null' + description: The boolean flag indicating whether Gusto will file a new hire report for the contractor + work_state: + type: + - string + - 'null' + description: |- + State where the contractor will be conducting the majority of their work for the company. + This value is used when generating the new hire report. + onboarded: + type: boolean + description: The updated onboarding status for the contractor + onboarding_status: + type: string + description: One of the "onboarding_status" enum values. + enum: + - admin_onboarding_incomplete + - admin_onboarding_review + - self_onboarding_not_invited + - self_onboarding_invited + - self_onboarding_started + - self_onboarding_review + - onboarding_completed + payment_method: + anyOf: + - type: string + enum: + - Direct Deposit + - Check + - type: 'null' + description: The contractor's payment method. + has_ssn: + type: boolean + description: Indicates whether the contractor has an SSN in Gusto. + department_uuid: + type: + - string + - 'null' + description: The UUID of the department the contractor is under + department: + type: + - string + - 'null' + description: The contractor's department in the company. + readOnly: true + department_title: + type: + - string + - 'null' + description: The title of the contractor's department. + readOnly: true + dismissal_date: + type: + - string + - 'null' + description: The contractor's dismissal date. + readOnly: true + upcoming_employment: + type: + - object + - 'null' + description: The contractor's upcoming employment details, if a rehire is scheduled. + readOnly: true + properties: + start_date: + type: string + description: The start date of the upcoming employment. + setup_status: + type: + - string + - 'null' + description: The setup status of the upcoming employment. + dismissal_cancellation_eligible: + type: boolean + description: Whether the contractor's pending dismissal can be cancelled. + readOnly: true + rehire_cancellation_eligible: + type: boolean + description: Whether the contractor's pending rehire can be cancelled. + readOnly: true + member_portal_invitation_status: + type: + - object + - 'null' + description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. + properties: + status: + type: string + description: The current status of the member portal invitation. + enum: + - pending + - sent + - verified + - complete + - cancelled + token_expired: + type: + - boolean + - 'null' + description: Whether the invitation token has expired. + welcome_email_sent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the welcome email was sent. + last_password_resent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the password reset was last resent. + partner_portal_invitation_sent: + type: + - boolean + - 'null' + description: Whether an external partner portal invitation webhook has been sent for this contractor. Only included when the include param has the portal_invitations value set. + x-tags: + - Contractors + required: + - uuid + x-examples: + Individual Contractor: + uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 + company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 + wage_type: Hourly + start_date: '2022-01-01' + is_active: true + version: 63859768485e218ccf8a449bb60f14ed + type: Individual + first_name: Kory + last_name: Gottlieb + middle_initial: P + business_name: + ein: + has_ein: false + has_ssn: true + department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 + email: keira.west@mckenzie.org + file_new_hire_report: true + work_state: FL + onboarded: true + onboarding_status: onboarding_completed + address: + street_1: 621 Jast Row + street_2: Apt. 281 + city: Coral Springs + state: FL + zip: '33065' + country: USA + hourly_rate: '60.00' + payment_method: Direct Deposit + department: Engineering + department_title: Engineering + dismissal_date: + upcoming_employment: + dismissal_cancellation_eligible: false + rehire_cancellation_eligible: false + member_portal_invitation_status: + status: sent + token_expired: false + welcome_email_sent_at: '2024-01-15T14:30:00Z' + last_password_resent_at: + partner_portal_invitation_sent: true + Business Contractor: + uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c + company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f + wage_type: Fixed + start_date: '2022-01-01' + is_active: true + version: 8aab307f1e8ed788697f8986346af559 + type: Business + first_name: + last_name: + middle_initial: + business_name: Labadie-Stroman + ein: XX-XXX0001 + has_ein: true + has_ssn: false + email: jonatan@kerluke.info + file_new_hire_report: false + work_state: + onboarded: true + onboarding_status: onboarding_completed + address: + street_1: 1625 Bednar Center + street_2: Apt. 480 + city: Port Charlotte + state: FL + zip: '33954' + country: USA + hourly_rate: '0.00' + payment_method: Direct Deposit + department_uuid: + department: + department_title: + dismissal_date: + upcoming_employment: + dismissal_cancellation_eligible: false + rehire_cancellation_eligible: false + member_portal_invitation_status: + partner_portal_invitation_sent: false + Contractor-Onboarding-Status: + description: The representation of an contractor's onboarding status. + type: object + title: Contractor-Onboarding-Status + x-tags: + - Contractor + x-examples: + example: + uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + onboarding_status: admin_onboarding_incomplete + onboarding_steps: + - title: Basic details + id: basic_details + required: true + completed: false + requirements: [] + - title: Enter compensation details + id: compensation_details + required: true + completed: false + requirements: [] + - title: Add an address + id: add_address + required: true + completed: false + requirements: [] + - title: Payment details + id: payment_details + required: true + completed: false + requirements: [] + - title: Sign and acknowledge documents + id: sign_documents + required: false + completed: false + requirements: + - basic_details + - add_address + - title: File new hire report + id: file_new_hire_report + required: false + completed: false + requirements: + - basic_details + properties: + uuid: + type: string + description: Unique identifier for this contractor. + onboarding_status: + type: string + description: One of the "onboarding_status" enum values. + enum: + - onboarding_completed + - admin_onboarding_review + - admin_onboarding_incomplete + - self_onboarding_not_invited + - self_onboarding_invited + - self_onboarding_started + - self_onboarding_review + onboarding_steps: + type: array + description: List of steps required to onboard a contractor. + items: + title: Onboarding step type: object - nullable: true properties: - state: - type: string - readOnly: false - description: The two letter state abbreviation for the state issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. - payment_period: - type: string - readOnly: false - enum: - - Every week - - Every other week - - Twice per month - - Monthly - description: How often the agency collects the withholding amount. e.g. $500 monthly -> `Monthly`. - fips_code: - type: string - description: The FIPS code associated with the state or county agency issuing the child support order. Agency data is available in the `GET /v1/garnishments/child_support` API. - nullable: false - readOnly: false - case_number: - type: string - nullable: true - readOnly: false - description: Child Support Enforcement Case Number associated with this child support obligation - required for most states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. - order_number: - type: string - nullable: true - readOnly: false - description: Order Identifier or Order ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. - remittance_number: - type: string - nullable: true - readOnly: false - description: Child Support Enforcement Remittance ID associated with this child support obligation - required for some states. Agency specific requirements are available in the `GET /v1/garnishments/child_support` API. - Garnishment: - description: Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + title: + type: string + description: User-friendly description of the onboarding step. + id: + type: string + description: String identifier for the onboarding step. + required: + type: boolean + description: When true, this step is required. + completed: + type: boolean + description: When true, this step has been completed. + requirements: + type: array + description: A list of onboarding steps required to begin this step. + items: + type: string + required: + - uuid + Contractor-Payment: + description: The representation of a single contractor payment. + type: object + x-examples: + success_status: + uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037, + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + may_cancel: true + status: Funded + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + example: + uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + may_cancel: false + status: Funded + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + title: Contractor Payment + properties: + uuid: + type: string + description: The unique identifier of the contractor payment in Gusto. + readOnly: true + contractor_uuid: + type: string + description: The UUID of the contractor. + readOnly: true + bonus: + type: string + format: float + description: The bonus amount in the payment. + readOnly: true + date: + type: string + description: The payment date. + readOnly: true + hours: + type: string + format: float + description: The number of hours worked for the payment. + readOnly: true + payment_method: + type: string + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + readOnly: true + reimbursement: + type: string + format: float + description: The reimbursement amount in the payment. + readOnly: true + status: + type: string + description: Contractor payment status + enum: + - Funded + - Unfunded + hourly_rate: + type: string + format: float + description: The rate per hour worked for the payment. + readOnly: true + may_cancel: + type: boolean + description: Determine if the contractor payment can be cancelled. + readOnly: true + wage: + type: string + format: float + description: The fixed wage of the payment, regardless of hours worked. + readOnly: true + wage_type: + type: string + description: The wage type for the payment. + enum: + - Hourly + - Fixed + readOnly: true + wage_total: + type: string + format: float + description: "(hours * hourly_rate) + wage + bonus" + readOnly: true + invoice_number: + type: + - string + - 'null' + description: An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + readOnly: true + memo: + type: + - string + - 'null' + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + readOnly: true + x-tags: + - Contractor Payments + required: + - uuid + Contractor-Payment-Body: + description: Request body for creating a contractor payment. + type: object + required: + - contractor_uuid + - date + properties: + contractor_uuid: + type: string + description: The contractor receiving the payment. + date: + type: string + format: date + description: Date of contractor payment. + example: '2020-01-01' + payment_method: + type: string + enum: + - Direct Deposit + - Check + - Historical Payment + default: Direct Deposit + wage: + type: string + format: float + description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked. + example: '5000' + hours: + type: string + format: float + description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment. + example: '40' + bonus: + type: string + format: float + description: If the contractor is on an hourly wage, this is the bonus the contractor earned. + example: '500' + reimbursement: + type: string + format: float + description: Reimbursed wages for the contractor. + example: '20' + invoice_number: + type: string + description: An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + maxLength: 25 + example: INV-001 + memo: + type: string + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + example: Payment for consulting services + x-tags: + - Contractor Payments + Contractor-Payments-Preview-Body: + description: Request body for previewing contractor payments. The expected debit date for the payments is calculated from the provided check date and the company's ACH speed. + type: object + required: + - contractor_payments + properties: + contractor_payments: + type: array + description: A list of contractor payments to preview. + items: type: object properties: - uuid: - type: string - description: The UUID of the garnishment in Gusto. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - employee_uuid: - type: string - description: The UUID of the employee to which this garnishment belongs. - readOnly: true - active: - type: boolean - default: true - description: Whether or not this garnishment is currently active. + contractor_uuid: + type: string + description: The contractor receiving the payment. + date: + type: string + description: Date of the contractor payment (check date). + payment_method: + type: string + enum: + - Direct Deposit + - Check + - Historical Payment + description: The payment method. + wage: + type: integer + description: Fixed wage amount for the payment. + hours: + type: integer + description: Number of hours worked for the payment. + hourly_rate: + type: integer + description: Hourly rate for the payment. + bonus: + type: integer + description: Bonus amount for the payment. + reimbursement: + type: integer + description: Reimbursement amount for the payment. + x-examples: + Example: + contractor_payments: + - bonus: 0 + date: '2022-09-02' + contractor_uuid: 5376e95b-cca0-482b-bb81-aba5e360eb04 + hours: 0 + payment_method: Check + reimbursement: 0 + wage: 123 + hourly_rate: 0 + - bonus: 0 + date: '2022-09-02' + contractor_uuid: 0c984dce-de9a-47db-8bfb-5f0c823afe6f + hours: 0 + payment_method: Check + reimbursement: 0 + wage: 456 + hourly_rate: 0 + x-tags: + - Contractor Payments + Contractor-Payments-Preview: + type: object + description: The expected debit date computed for a set of previewed contractor payments. + properties: + expected_debit_date: + type: string + format: date + description: The calculated debit date. If the payment method is Direct Deposit, the debit date will account for the company's ACH speed. If the payment method is Check, the debit date will be the same as the check date. + x-examples: + example: + expected_debit_date: '2022-08-16' + x-tags: + - Contractor Payments + Contractor-Payment-Group: + description: The full contractor payment group, including associated contractor payments. + type: object + allOf: + - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" + - type: object + properties: + partner_owned_disbursement: + type: + - boolean + - 'null' + description: Whether the disbursement is partner owned. + readOnly: true + submission_blockers: + type: array + description: List of submission blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + credit_blockers: + type: array + description: List of credit blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + totals: + type: object + properties: amount: - type: string - format: float - readOnly: false - description: The amount of the garnishment. Either a percentage or a fixed dollar amount. Represented as a float, e.g. "8.00". - description: - type: string - readOnly: false - description: The description of the garnishment. - court_ordered: - type: boolean - readOnly: false - description: Whether the garnishment is court ordered. - times: - type: integer - nullable: true - readOnly: false - default: - description: The number of times to apply the garnishment. Ignored if recurring is true. - recurring: - type: boolean - readOnly: false - default: false - description: Whether the garnishment should recur indefinitely. - annual_maximum: - format: float - readOnly: false - default: - description: The maximum deduction per annum. A null value indicates no maximum. Represented as a float, e.g. "200.00". - type: string - nullable: true - total_amount: - type: string - format: float - readOnly: false - default: - nullable: true - description: A maximum total deduction for the lifetime of this garnishment. A null value indicates no maximum. - pay_period_maximum: - type: string - nullable: true - format: float - default: - description: The maximum deduction per pay period. A null value indicates no maximum. Represented as a float, e.g. "16.00". - deduct_as_percentage: - type: boolean - readOnly: false - default: false - description: Whether the amount should be treated as a percentage to be deducted per pay period. - garnishment_type: - type: string - nullable: true - enum: - - child_support - - federal_tax_lien - - state_tax_lien - - student_loan - - creditor_garnishment - - federal_loan - - other_garnishment - description: The specific type of garnishment for court ordered garnishments. - child_support: - "$ref": "#/components/schemas/Garnishment-Child-Support" - required: - - uuid - Employee-Onboarding-Document: - type: object - description: Configuration for an employee onboarding documents during onboarding - properties: - i9_document: - type: string - description: Whether to include Form I-9 for an employee during onboarding - readOnly: true - I9-Authorization: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + check_amount: + type: string + description: The total check amount for the group of contractor payments. + readOnly: true + readOnly: true + contractor_payments: + type: array + items: + "$ref": "#/components/schemas/Contractor-Payment-For-Group" + x-examples: + success: + uuid: f693e034-d833-46e3-88d4-2c820c383c57 + company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + check_date: '2024-05-07' + debit_date: '2024-05-01' + status: Unfunded + creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed + contractor_payments: + - uuid: 630dc982-f498-4ebc-a6dc-4d76711027ce + contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 + bonus: '0.0' + hours: '40.0' + hourly_rate: '18.0' + may_cancel: false + payment_method: Direct Deposit + reimbursement: '75.0' + status: Unfunded + wage: '0.0' + wage_type: Hourly + wage_total: '720.0' + - uuid: 12f51eba-d653-4357-8c05-1f1f8d0fd5e3 + contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: false + payment_method: Check + reimbursement: '0.0' + status: Unfunded + wage: '1500.0' + wage_type: Fixed + wage_total: '1500.0' + totals: + amount: '2295.0' + debit_amount: '2295.0' + wage_amount: '2220.0' + reimbursement_amount: '75.0' + With submission blockers: + uuid: 5ec3b582-7d04-4397-be1e-f0e79d00e1b7 + company_uuid: 4a39b249-1e22-4fc9-a40f-cb07d2ab394e + check_date: '2025-08-21' + debit_date: '2025-08-19' + status: Unfunded + creation_token: 5ec3b582-7d04-4397-be1e-f0e79d00e1b7 + partner_owned_disbursement: false + submission_blockers: + - blocker_type: fast_ach_threshold_exceeded + blocker_name: Fast ACH Threshold Exceeded + selected_option: wire_in + status: resolved + unblock_options: + - unblock_type: wire_in + check_date: '2025-08-21' + metadata: + wire_in_deadline: '2025-08-21T18:00:00Z' + wire_in_amount: '760000.0' + - unblock_type: move_to_four_day + check_date: '2025-08-21' + metadata: + debit_date: '2025-08-15' + credit_blockers: + - blocker_type: waiting_for_wire_in + blocker_name: Waiting for Wire In + selected_option: submit_wire + status: unresolved + unblock_options: + - unblock_type: submit_wire + check_date: '2025-08-21' + metadata: + wire_in_deadline: '2025-08-21T18:00:00Z' + wire_in_amount: '760000.0' + wire_in_request_uuid: 7a31fef8-46c6-4114-9677-214b7a3cb532 + contractor_payments: + - uuid: ca8c7899-c2dc-40bb-8b7e-08c1309f5135 + contractor_uuid: b4c6cd3c-4b45-4738-ad40-3da45b29a765 + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: false + payment_method: Direct Deposit + reimbursement: '750000.0' + status: Unfunded + wage: '10000.0' + wage_type: Fixed + wage_total: '10000.0' + totals: + amount: '760000.00' + debit_amount: '760000.00' + wage_amount: '10000.00' + reimbursement_amount: '750000.00' + check_amount: '0.00' + x-tags: + - Contractor Payment Groups + Contractor-Payment-Group-Base: + description: Base properties for contractor payment groups. + type: object + properties: + uuid: + type: string + description: The unique identifier of the contractor payment group. + readOnly: true + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + check_date: + type: string + description: The check date of the contractor payment group. + readOnly: true + debit_date: + type: string + description: The debit date of the contractor payment group. + readOnly: true + status: + type: string + description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. + enum: + - Unfunded + - Funded + readOnly: true + creation_token: + type: + - string + - 'null' + description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. + readOnly: true + Contractor-Payment-Group-With-Blockers: + description: Contractor payment group with submission and credit blockers, but without individual contractor payments. + type: object + allOf: + - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" + - type: object + properties: + partner_owned_disbursement: + type: + - boolean + - 'null' + description: Whether the disbursement is partner owned. + readOnly: true + submission_blockers: + type: array + description: List of submission blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + credit_blockers: + type: array + description: List of credit blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + check_amount: + type: string + description: The total check amount for the group of contractor payments. + readOnly: true + readOnly: true + x-examples: + success: + uuid: 94d9698e-9c95-45d6-b66e-d208258666ab + company_uuid: 5f5aaa38-f517-4f56-85e4-afdb83321663 + check_date: '2025-09-22' + debit_date: '2025-09-18' + status: Unfunded + creation_token: 94d9698e-9c95-45d6-b66e-d208258666ab + partner_owned_disbursement: false + submission_blockers: + - blocker_type: fast_ach_threshold_exceeded + blocker_name: Fast ACH Threshold Exceeded + selected_option: wire_in + status: resolved + unblock_options: + - unblock_type: wire_in + check_date: '2025-09-22' + metadata: + wire_in_deadline: '2025-09-22T18:00:00Z' + wire_in_amount: '760000.0' + - unblock_type: move_to_four_day + check_date: '2025-09-22' + metadata: + debit_date: '2025-09-16' + credit_blockers: + - blocker_type: waiting_for_wire_in + blocker_name: Waiting for Wire In + selected_option: submit_wire + status: unresolved + unblock_options: + - unblock_type: submit_wire + check_date: '2025-09-22' + metadata: + wire_in_deadline: '2025-09-22T18:00:00Z' + wire_in_amount: '760000.0' + wire_in_request_uuid: 96ea4784-979a-45aa-9ccb-83be86b6dcea + totals: + amount: '760000.00' + debit_amount: '760000.00' + wage_amount: '10000.00' + reimbursement_amount: '750000.00' + check_amount: '0.00' + x-tags: + - Contractor Payment Groups + Contractor-Payment-Group-Minimal: + description: The summary of a contractor payment group. + type: object + allOf: + - "$ref": "#/components/schemas/Contractor-Payment-Group-Base" + - type: object + properties: + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + readOnly: true + x-examples: + success: + - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 + company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + check_date: '2024-03-15' + debit_date: '2024-03-11' + status: Funded + creation_token: a51a3500-3200-43af-a738-169d4b66a9db + totals: + debit_amount: '740.00' + wage_amount: '720.00' + reimbursement_amount: '20.00' + - uuid: 56260b3d-c375-415c-b77a-75d99f717193 + company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d + check_date: '2024-05-02' + debit_date: '2024-04-26' + status: Unfunded + creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed + totals: + debit_amount: '2365.00' + wage_amount: '2270.00' + reimbursement_amount: '95.00' + x-tags: + - Contractor Payment Groups + Contractor-Payment-For-Group: + description: The representation of a single contractor payment. + type: object + properties: + uuid: + type: string + description: The unique identifier of the contractor payment in Gusto. + readOnly: true + contractor_uuid: + type: string + description: The UUID of the contractor. + readOnly: true + bonus: + type: string + description: The bonus amount in the payment. + readOnly: true + hours: + type: string + description: The number of hours worked for the payment. + readOnly: true + payment_method: + type: string + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + readOnly: true + reimbursement: + type: string + description: The reimbursement amount in the payment. + readOnly: true + status: + type: string + description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. + enum: + - Funded + - Unfunded + hourly_rate: + type: string + description: The rate per hour worked for the payment. + readOnly: true + may_cancel: + type: boolean + description: Determine if the contractor payment can be cancelled. + readOnly: true + wage: + type: string + description: The fixed wage of the payment, regardless of hours worked. + readOnly: true + wage_type: + type: string + description: The wage type for the payment. + enum: + - Hourly + - Fixed + readOnly: true + wage_total: + type: string + description: "(hours * hourly_rate) + wage + bonus" + readOnly: true + invoice_number: + type: + - string + - 'null' + description: An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + readOnly: true + memo: + type: + - string + - 'null' + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + readOnly: true + x-tags: + - Contractor Payment Groups + Contractor-Payment-For-Group-Preview: + description: Preview representation of a single contractor payment with nullable uuid. + type: object + properties: + uuid: + type: + - string + - 'null' + description: The unique identifier of the contractor payment in Gusto. + readOnly: true + contractor_uuid: + type: string + description: The UUID of the contractor. + readOnly: true + bonus: + type: string + description: The bonus amount in the payment. + readOnly: true + hours: + type: string + description: The number of hours worked for the payment. + readOnly: true + payment_method: + type: string + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + readOnly: true + reimbursement: + type: string + description: The reimbursement amount in the payment. + readOnly: true + status: + type: string + description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. + enum: + - Funded + - Unfunded + hourly_rate: + type: string + description: The rate per hour worked for the payment. + readOnly: true + may_cancel: + type: boolean + description: Determine if the contractor payment can be cancelled. + readOnly: true + wage: + type: string + description: The fixed wage of the payment, regardless of hours worked. + readOnly: true + wage_type: + type: string + description: The wage type for the payment. + enum: + - Hourly + - Fixed + readOnly: true + wage_total: + type: string + description: "(hours * hourly_rate) + wage + bonus" + readOnly: true + invoice_number: + type: + - string + - 'null' + description: An optional invoice number associated with this contractor payment. This will be visible to the contractor on their paystub. Maximum 25 characters. + readOnly: true + memo: + type: + - string + - 'null' + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + readOnly: true + x-tags: + - Contractor Payment Groups + Contractor-Payment-Summary: + description: The representation of the summary of contractor payments for a given company in a given time period. + type: object + x-examples: + success_status: + total: + reimbursements: '110.0' + wages: '1840.0' + contractor_payments: + - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + reimbursement_total: '110.0' + wage_total: '1840.0' + payments: + - uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + may_cancel: true + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '100.0' + date: '2020-10-19' + hours: '0.00' + payment_method: Direct Deposit + reimbursement: '10.0' + hourly_rate: '0.0' + may_cancel: true + wage: '1000.0' + wage_type: Fixed + wage_total: '1100.0' + properties: + total: + type: object + description: The wage and reimbursement totals for all contractor payments within a given time period. + properties: + reimbursements: + type: string + format: float + description: The total reimbursements for contractor payments within a given time period. + readOnly: true + wages: + type: string + format: float + description: The total wages for contractor payments within a given time period. + readOnly: true + readOnly: true + contractor_payments: + type: array + uniqueItems: false + description: The individual contractor payments, within a given time period, grouped by contractor. + items: type: object - description: An employee's I-9 authorization + description: '' properties: - uuid: - type: string - description: The UUID of the I-9 authorization - readOnly: true - form_uuid: - type: string - description: The UUID of the Form associated with this I-9 authorization. Use this with "Employee Forms" API endpoints. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - readOnly: true - authorization_status: - type: string - description: The employee's authorization status - enum: - - citizen - - noncitizen - - permanent_resident - - alien - document_type: - type: string - description: The document's document type - enum: - - uscis_alien_registration_number - - form_i94 - - foreign_passport - has_document_number: - type: boolean - description: Whether or not a `document_number` exists for this document. - expiration_date: - type: string - description: The document's expiration date - country: - type: string - description: The document's country of issuance - employer_signed: - type: boolean - description: Whether the employer has signed the Form I-9 - readOnly: true - employee_signed: - type: boolean - description: Whether the employee has signed the Form I-9 - readOnly: true - additional_info: - type: string - description: Any additional notes - alt_procedure: - type: boolean - description: Whether an alternative procedure authorized by DHS to examine documents was used - required: - - uuid - - version - - authorization_status - - employer_signed - - employee_signed - x-tags: - - I-9 Verification - I9-Authorization-Document: + contractor_uuid: + type: number + description: The UUID of the contractor. + readOnly: true + reimbursement_total: + type: string + format: float + description: The total reimbursements for the contractor within a given time period. + readOnly: true + wage_total: + type: string + format: float + description: The total wages for the contractor within a given time period. + readOnly: true + payments: + type: array + uniqueItems: false + description: The contractor's payments within a given time period. + items: + "$ref": "#/components/schemas/Contractor-Payment" + readOnly: true + readOnly: true + x-tags: + - Contractor Payments + Contractor-Payment-Summary-By-Dates: + description: The representation of the summary of contractor payments for a given company in a given time period. + type: object + x-examples: + success_status: + total: + reimbursements: '110.0' + wages: '1840.0' + contractor_payments: + - check_date: '2020-10-19' + reimbursement_total: '110.0' + wage_total: '1840.0' + payments: + - uuid: 04552eb9-7829-4b18-ae96-6983552948df + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '20.0' + date: '2020-10-19' + hours: '40.0' + payment_method: Direct Deposit + reimbursement: '100.0' + hourly_rate: '18.0' + wage: '0.0' + wage_type: Hourly + wage_total: '740.00' + - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 + contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 + bonus: '100.0' + date: '2020-10-19' + hours: '0.00' + payment_method: Direct Deposit + reimbursement: '10.0' + hourly_rate: '0.0' + wage: '1000.0' + wage_type: Fixed + wage_total: '1100.0' + properties: + total: + type: object + description: The wage and reimbursement totals for all contractor payments within a given time period. + properties: + reimbursements: + type: string + format: float + description: The total reimbursements for contractor payments within a given time period. + readOnly: true + wages: + type: string + format: float + description: The total wages for contractor payments within a given time period. + readOnly: true + readOnly: true + contractor_payments: + type: array + uniqueItems: false + description: The individual contractor payments, within a given time period, grouped by check date. + items: type: object - description: An employee's I-9 verification document + description: '' properties: - uuid: - type: string - description: The UUID of the I-9 verification document - readOnly: true - document_type: - type: string - description: The document's document type - document_title: - type: string - description: The document's document title - expiration_date: - type: string - description: The document's expiration date - issuing_authority: - type: string - description: The document's issuing authority - required: - - uuid - - document_type - - document_title - - issuing_authority - x-tags: - - I-9 Verification - I9-Authorization-Document-Option: + contractor_uuid: + type: string + description: The UUID of the contractor. + readOnly: true + check_date: + type: string + description: The payment check date. + readOnly: true + reimbursement_total: + type: string + format: float + description: The total reimbursements for the contractor within a given time period. + readOnly: true + wage_total: + type: string + format: float + description: The total wages for the contractor within a given time period. + readOnly: true + payments: + type: array + uniqueItems: false + description: The contractor's payments within a given time period. + items: + "$ref": "#/components/schemas/Contractor-Payment" + readOnly: true + readOnly: true + readOnly: true + x-tags: + - Contractor Payments + Contractor-Payment-Method: + title: Contractor-Payment-Method + type: object + x-examples: + check_method: + version: 63859768485e218ccf8a449bb60f14ed + type: Check + split_by: + splits: + Example-1: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Percentage + splits: + - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + name: BoA Checking Account + priority: 1 + split_amount: 100 + Example-2: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Check + description: '' + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + type: + anyOf: + - type: string + enum: + - Direct Deposit + - Check + - type: 'null' + description: The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: Describes how the payment will be split. If `split_by` is Percentage, then the `split` amounts must add up to exactly 100. If `split_by` is Amount, then values are in cents and the last split amount must be `null` to capture the remainder. + splits: + type: + - array + - 'null' + items: + "$ref": "#/components/schemas/Payment-Method-Bank-Account" + x-tags: + - Contractor Payment Method + Payment-Method-Bank-Account: + type: object + description: Representation of a bank account item + properties: + uuid: + type: string + description: The bank account ID + name: + type: string + description: The bank account name + hidden_account_number: + type: string + description: Masked bank account number + priority: + type: integer + description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. + split_amount: + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + type: + - integer + - 'null' + required: + - uuid + Payroll-Blockers-Error: + description: |- + Payroll Blockers Error + + For detailed information, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) + type: object + x-examples: + needs_onboarding: + errors: + - error_key: base + category: payroll_blocker + message: Company must complete all onboarding requirements in order to run payroll. + metadata: + key: needs_onboarding + properties: + errors: + type: array + items: type: object - description: An employee's I-9 verification document option based on the authorization status properties: - section: - type: string - description: The document option's section in the list of acceptable documents on the Form I-9 - readOnly: true - enum: - - A - - A1 - - A2 - - A3 - - B - - C - description: - type: string - description: The document option's description - readOnly: true - document_type: - type: string - description: The document option's document type - readOnly: true - document_title: - type: array - description: The document option's document titles - readOnly: true - items: - type: string - common_choice: - type: boolean - description: Whether the document is a common choice for I-9 verification - readOnly: true + error_key: + type: string + description: The string "base" + category: + type: string + description: The string "payroll_blocker" + message: + type: string + description: Human readable description of the payroll blocker + metadata: + type: object + properties: + key: + type: string + description: A categorization of the payroll blocker, e.g. "geocode_error" + Create-Token-Authentication: + description: '' + type: object + required: + - access_token + - token_type + - expires_in + - created_at + properties: + access_token: + type: string + description: A new access token that can be used for subsequent authenticated requests + token_type: + type: string + default: Bearer + description: The literal string 'Bearer' + expires_in: + type: number + default: 7200 + description: The TTL of this token. After this amount of time, you must hit the refresh token endpoint to continue making authenticated requests. + created_at: + type: number + description: Datetime for when the new access token is created. + refresh_token: + type: + - string + - 'null' + description: A token that must be passed to the refresh token endpoint to get a new authenticated token. Only present when refresh token is provided. + Refresh-Token-Authentication: + description: '' + type: object + allOf: + - "$ref": "#/components/schemas/Create-Token-Authentication" + - type: object + properties: + refresh_token: + type: string + description: A token that must be passed to the refresh token endpoint to get a new authenticated token. + scope: + type: string + description: All of the scopes for which the access token provides access. + Authentication: + description: '' + type: object + oneOf: + - "$ref": "#/components/schemas/Create-Token-Authentication" + - "$ref": "#/components/schemas/Refresh-Token-Authentication" + x-examples: + create_token: + access_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A + token_type: Bearer + created_at: 1767644464 + expires_in: 7200 + refresh_token: + refresh_token: + access_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A + refresh_token: As8qKfNObHbwe7abbJqF0WUF6iCQoIW2R664TFzXd-A + scope: public payroll:read + token_type: Bearer + created_at: 1767644464 + expires_in: 7200 + Token-Info: + type: object + properties: + scope: + type: string + description: 'Space-separated list of OAuth scopes granted to this access token. + +' + example: companies:read public + resource: + type: + - object + - 'null' + description: | + The resource associated with this access token. Null when + the token has no associated resource. + properties: + type: + type: string + description: 'The type of resource associated with the access token, e.g. `Company` for a company-level token or `Oauth::Application` for a system-level token. + +' + example: Company + uuid: + type: string + format: uuid + description: The UUID of the associated resource + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + resource_owner: + type: + - object + - 'null' + description: | + The resource owner (user) who authorized this access token. Null for + system-level tokens or when the owner cannot be determined. + properties: + type: + type: string + enum: + - CompanyAdmin + - Employee + - Contractor + description: | + The type of resource owner: + - `CompanyAdmin`: A company administrator + - `Employee`: An employee + - `Contractor`: A contractor + example: CompanyAdmin + uuid: + type: string + format: uuid + description: The UUID of the resource owner + example: 8fdc31f0-a8a7-4872-a9f1-dcb5e6f876e3 + x-examples: + company_admin_token: + scope: companies:read public + resource: + type: Company + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + resource_owner: + type: CompanyAdmin + uuid: 8fdc31f0-a8a7-4872-a9f1-dcb5e6f876e3 + system_token: + scope: partner_managed_companies:create public + resource: + type: Oauth::Application + uuid: 9c2a1b3d-4e5f-6789-abcd-ef0123456789 + resource_owner: + Pay-Schedule: + type: object + title: Pay Schedule + x-examples: + Example: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + name: Engineering + auto_payroll: false + custom_name: A new monthly pay schedule + success_status: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2022-09-01' + anchor_end_of_pay_period: '2022-08-18' + day_1: 1 + day_2: 15 + name: + custom_name: every 1st and 15th of the month + auto_payroll: true + active: true + auto_payroll_enablement_blockers: + description: | + The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + + Response includes frequency, anchor dates, optional day_1/day_2 for monthly/semi-monthly, auto_payroll (named auto_pilot in API versions before 2025-11-15), and auto_payroll_enablement_blockers when Autopayroll is disabled. + + **Webhooks:** Subscribe to [Pay Schedule Events](https://docs.gusto.com/embedded-payroll/docs/pay-schedule-events) to receive `pay_schedule.created` and `pay_schedule.updated` when pay schedules are created or updated. + properties: + uuid: + "$ref": "#/components/schemas/Pay-Schedule-Uuid" + version: + "$ref": "#/components/schemas/Pay-Schedule-Version" + frequency: + "$ref": "#/components/schemas/Pay-Schedule-Frequency" + anchor_pay_date: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" + anchor_end_of_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" + day_1: + "$ref": "#/components/schemas/Pay-Schedule-Day-1" + day_2: + "$ref": "#/components/schemas/Pay-Schedule-Day-2" + name: + "$ref": "#/components/schemas/Pay-Schedule-Name" + custom_name: + "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" + auto_payroll: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll" + active: + "$ref": "#/components/schemas/Pay-Schedule-Active" + auto_payroll_enablement_blockers: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blockers" + x-tags: + - Pay Schedules + required: + - uuid + Pay-Schedule-Show: + type: object + title: Pay Schedule + description: | + Pay schedule returned from pay schedule endpoints (GET by ID, POST create, PUT update). Same fields as Pay-Schedule with a required `version` for [optimistic concurrency](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control). + + For API version 2025-11-15 and later, responses use `auto_payroll`; earlier versions use `auto_pilot` for the same semantic. + required: + - uuid + - version + properties: + uuid: + "$ref": "#/components/schemas/Pay-Schedule-Uuid" + version: + "$ref": "#/components/schemas/Pay-Schedule-Version" + frequency: + "$ref": "#/components/schemas/Pay-Schedule-Frequency" + anchor_pay_date: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" + anchor_end_of_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" + day_1: + "$ref": "#/components/schemas/Pay-Schedule-Day-1" + day_2: + "$ref": "#/components/schemas/Pay-Schedule-Day-2" + name: + "$ref": "#/components/schemas/Pay-Schedule-Name" + custom_name: + "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" + auto_payroll: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll" + active: + "$ref": "#/components/schemas/Pay-Schedule-Active" + auto_payroll_enablement_blockers: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blockers" + x-tags: + - Pay Schedules + x-examples: + Example: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + name: Engineering + auto_payroll: false + custom_name: A new monthly pay schedule + active: true + auto_payroll_enablement_blockers: + success_status: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Twice per month + anchor_pay_date: '2022-09-01' + anchor_end_of_pay_period: '2022-08-18' + day_1: 1 + day_2: 15 + name: + custom_name: every 1st and 15th of the month + auto_payroll: true + active: true + auto_payroll_enablement_blockers: + Pay-Schedule-Show-Response: + type: array + description: 'List of pay schedules for a company, as returned from [GET /v1/companies/{company_id}/pay_schedules](ref:get-v1-companies-company_id-pay_schedules). Each entry matches Pay-Schedule-Show (includes `version`). + +' + items: + "$ref": "#/components/schemas/Pay-Schedule-Show" + x-tags: + - Pay Schedules + x-examples: + success_status: + - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Monthly + anchor_pay_date: '2022-12-11' + anchor_end_of_pay_period: '2022-11-13' + day_1: 11 + day_2: + name: + custom_name: every 11th of the month + auto_payroll: true + active: true + auto_payroll_enablement_blockers: + Pay-Schedule-Version: + type: string + description: The current version of the pay schedule. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/api-fundamentals#optimistic-version-control) for information on how to use this field for optimistic concurrency. + readOnly: true + Pay-Schedule-Auto-Payroll: + type: boolean + description: | + With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. + Returned for API version 2025-11-15 and later; for earlier versions the response uses auto_pilot instead. + readOnly: true + Pay-Schedule-Auto-Payroll-Enablement-Blockers: + type: + - array + - 'null' + description: List of blockers preventing automatic payroll from being enabled. If automatic payroll is already enabled, this field is null. + items: + "$ref": "#/components/schemas/Pay-Schedule-Auto-Payroll-Enablement-Blocker" + Pay-Schedule-Auto-Payroll-Enablement-Blocker: + type: object + description: A single blocker preventing Autopayroll enablement. + properties: + key: + type: string + description: The blocker type (e.g. employees_not_on_direct_deposit, employees_not_salaried, missing_funding_method, missing_state_tax_requirements, one_day_ach_speed_not_supported, company_suspended, earned_fast_ach_not_met). + metadata: + type: object + description: Blocker-specific metadata (e.g. employee_uuids, states). + Pay-Schedule-List: + type: array + description: List of pay schedules for a company. The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + items: + "$ref": "#/components/schemas/Pay-Schedule-Show" + x-examples: + success_status: + - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + version: 68934a3e9455fa72420237eb05902327 + frequency: Monthly + anchor_pay_date: '2022-12-11' + anchor_end_of_pay_period: '2022-11-13' + day_1: 11 + day_2: + name: + custom_name: every 11th of the month + auto_payroll: true + active: true + Pay-Schedule-Preview-Pay-Period: + type: object + description: A single pay period in a pay schedule preview, with check date, period boundaries, and payroll deadline. + required: + - check_date + - start_date + - run_payroll_by + - end_date + properties: + check_date: + type: string + format: date + description: The payment date, "Check date", for the pay period. + start_date: + type: string + format: date + description: The first day of the pay period. + run_payroll_by: + type: string + format: date + description: The deadline to run payroll for direct deposit on the check date. + end_date: + type: string + format: date + description: The last day of the pay period. + Pay-Schedule-Preview: + type: object + description: | + Preview of pay schedule dates for the next 18 months. Use this to show partners expected pay dates, pay period boundaries, and payroll deadlines before they create or change a pay schedule. See [Preview pay schedule dates](https://docs.gusto.com/embedded-payroll/reference/get-v1-companies-company_id-pay_schedules-preview) for usage. + + - **pay_periods**: One entry per pay period in the range; each includes check_date, start_date, end_date, and run_payroll_by. + - **holidays**: Observed bank holidays (ISO date strings) that may affect payroll timing. + x-examples: + success_status: + pay_periods: + - check_date: '2022-01-15' + start_date: '2022-01-01' + run_payroll_by: '2022-01-14' + end_date: '2022-01-15' + - check_date: '2022-01-31' + start_date: '2022-01-16' + run_payroll_by: '2022-01-30' + end_date: '2022-01-31' + holidays: + - '2022-01-01' + - '2022-01-17' + properties: + pay_periods: + type: array + description: A list of pay periods for the previewed pay schedule (default range is 18 months from today, or up to end_date when provided). + items: + "$ref": "#/components/schemas/Pay-Schedule-Preview-Pay-Period" + holidays: + type: array + description: A list of dates for bank closures (ISO date strings); may affect payroll processing. + items: + type: string + format: date + Pay-Schedule-Date-Input: + type: string + format: date + description: ISO 8601 date (YYYY-MM-DD). Required for anchor and period dates in create, update, and preview requests. + Pay-Schedule-Create-Request: + type: object + description: | + Request body for creating a pay schedule. Required when a company has no pay schedules (onboarding) or when adding an additional schedule. Be sure to [check state laws](https://www.dol.gov/agencies/whd/state/payday) to know what schedule is right for your customers. + + - **anchor_pay_date**: The first date that employees on this pay schedule will be paid (first company payday). + - **anchor_end_of_pay_period**: The last date of the first pay period; can be the same as anchor_pay_date. + example: + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + custom_name: demo pay schedule + properties: + frequency: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" + example: Twice per month + anchor_pay_date: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-15' + anchor_end_of_pay_period: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-08' + day_1: + type: + - integer + - 'null' + example: 15 + description: | + An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + + On create: required for Twice per month and Monthly; omit or null for Every week and Every other week. + day_2: + type: + - integer + - 'null' + example: 31 + description: | + An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + + On create: only for Twice per month; omit or null for other frequencies. + custom_name: + type: + - string + - 'null' + example: demo pay schedule + description: | + A custom pay schedule name; defaults to the pay frequency description when null or omitted. + + When null or omitted, the system generates a description from the pay frequency and pay days (e.g. "every 1st and 15th of the month" for twice-monthly, "every 11th of the month" for monthly, "every Friday" for weekly). The response returns this generated value in `custom_name` when no custom name was set. When provided, the value you set is stored and returned. + required: + - frequency + - anchor_pay_date + - anchor_end_of_pay_period + Pay-Schedule-Update-Request: + type: object + description: Request body for updating a pay schedule. Sent in the pay_schedule_update root key. Version is required for optimistic concurrency. Pay schedules may be automatically adjusted if an onboarded company misses their first pay date; see [Create a pay schedule](https://docs.gusto.com/embedded-payroll/docs/create-a-pay-schedule). + example: + version: 68934a3e9455fa72420237eb05902327 + auto_payroll: true + frequency: Twice per month + anchor_pay_date: '2021-10-15' + anchor_end_of_pay_period: '2021-10-15' + day_1: 15 + day_2: 31 + custom_name: demo pay schedule + properties: + version: + type: string + example: 68934a3e9455fa72420237eb05902327 + description: Current version of the pay schedule from the GET response; required for optimistic concurrency. Mismatch returns 409 Conflict. + auto_payroll: + type: boolean + example: true + description: | + With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically and must be run manually. + For API versions before 2025-11-15 the request field is auto_pilot. + frequency: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" + example: Twice per month + anchor_pay_date: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-15' + anchor_end_of_pay_period: + allOf: + - "$ref": "#/components/schemas/Pay-Schedule-Date-Input" + example: '2020-05-08' + day_1: + type: + - integer + - 'null' + example: 15 + description: 'An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + +' + day_2: + type: + - integer + - 'null' + example: 31 + description: 'An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + +' + custom_name: + type: + - string + - 'null' + example: demo pay schedule + description: A custom pay schedule name; null clears any custom name so the default frequency description applies. + required: + - version + Pay-Schedule-Create-Update: + type: object + title: Pay Schedule + x-examples: + Example: + uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 + frequency: Twice per month + anchor_pay_date: '2020-05-15' + anchor_end_of_pay_period: '2020-05-08' + day_1: 15 + day_2: 31 + name: Engineering + auto_payroll: false + custom_name: A new monthly pay schedule + description: The representation of a pay schedule. + properties: + uuid: + "$ref": "#/components/schemas/Pay-Schedule-Uuid" + frequency: + "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" + anchor_pay_date: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" + anchor_end_of_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" + day_1: + "$ref": "#/components/schemas/Pay-Schedule-Day-1" + day_2: + "$ref": "#/components/schemas/Pay-Schedule-Day-2" + name: + "$ref": "#/components/schemas/Pay-Schedule-Name" + custom_name: + "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" + auto_payroll: + type: boolean + description: | + With automatic payroll enabled, payroll runs automatically one day before payroll deadlines. When false, payroll does not run automatically. + In API versions before 2025-11-15 this field is named `auto_pilot`. + readOnly: true + active: + "$ref": "#/components/schemas/Pay-Schedule-Active" + x-tags: + - Pay Schedules + required: + - uuid + Pay-Schedule-Uuid: + type: string + description: The unique identifier of the pay schedule in Gusto. + readOnly: true + Pay-Schedule-Frequency: + type: string + description: | + The frequency that employees on this pay schedule are paid with Gusto. + + READ-ONLY in responses. Possible values: + + - `Every week`: Employees are paid weekly. + - `Every other week`: Employees are paid bi-weekly (every two weeks). + - `Twice per month`: Employees are paid on two fixed days each month (e.g. 1st and 15th); use day_1 and day_2. + - `Monthly`: Employees are paid once per month; use day_1 for the pay day. + - `Quarterly`: Employees are paid every three months. + - `Annually`: Employees are paid once per year. + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Annually + readOnly: true + Pay-Schedule-Frequency-Create-Update: + type: string + description: | + The frequency that employees on this pay schedule are paid with Gusto. Only weekly, bi-weekly, twice per month, and monthly are supported on create and update. + + - `Every week`: Weekly pay. + - `Every other week`: Biweekly pay. + - `Twice per month`: Two pay dates per month; require day_1 and day_2 (use 31 for last day of month). + - `Monthly`: One pay date per month; require day_1 (1-31). + enum: + - Every week + - Every other week + - Twice per month + - Monthly + Pay-Schedule-Anchor-Pay-Date: + type: string + format: date + description: The first date that employees on this pay schedule are paid with Gusto (ISO 8601 YYYY-MM-DD). + readOnly: true + Pay-Schedule-Anchor-End-Of-Pay-Period: + type: string + format: date + description: The last date of the first pay period. This can be the same date as the anchor pay date (ISO 8601 YYYY-MM-DD). + readOnly: true + Pay-Schedule-Day-1: + type: + - integer + - 'null' + description: 'An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + +' + readOnly: true + Pay-Schedule-Day-2: + type: + - integer + - 'null' + description: 'An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, this field should be set to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + +' + readOnly: true + Pay-Schedule-Name: + type: + - string + - 'null' + description: This field will be hourly when the pay schedule is for hourly employees, salaried when the pay schedule is for salaried employees, the department name if pay schedule is by department, and null when the pay schedule is for all employees. + readOnly: true + Pay-Schedule-Custom-Name: + type: string + description: | + A custom name for a pay schedule; defaults to the pay frequency description when none was set by the partner. + + When the partner never set a custom name (or cleared it), this field contains the auto-generated description derived from frequency and pay days (e.g. "every 1st and 15th of the month", "every Friday"). When the partner set a custom name on create or update, this field contains that value. + readOnly: true + Pay-Schedule-Active: + type: boolean + description: Whether this pay schedule is associated with any employees. A pay schedule is inactive when it's unassigned. + readOnly: true + Ytd-Benefit-Amounts-From-Different-Company: + type: object + description: Ytd Benefit Amounts From Different Company + properties: + uuid: + type: string + description: The unique identifier for this benefit amount record. + benefit_type: + type: integer + description: The benefit type supported by Gusto. See [Benefit Types](https://docs.gusto.com/embedded-payroll/reference/get-v1-benefits) for more information. + ytd_employee_deduction_amount: + type: string + description: The year-to-date employee deduction made outside the current company. + ytd_company_contribution_amount: + type: string + description: The year-to-date company contribution made outside the current company. + required: + - uuid + - benefit_type + - ytd_employee_deduction_amount + - ytd_company_contribution_amount + x-examples: + Ytd-Benefit-Amounts-List: + - uuid: c5fdae57-5483-4529-9aae-f0edceed92d3 + benefit_type: 1 + ytd_employee_deduction_amount: '5000.00' + ytd_company_contribution_amount: '2500.00' + - uuid: 1bfdb946-b2be-4909-ac46-9e7f73872d0a + benefit_type: 5 + ytd_employee_deduction_amount: '2132.00' + ytd_company_contribution_amount: '3345.00' + Ytd-Benefit-Amounts-From-Different-Company-Body: + type: object + description: Year-to-date benefit amounts contributed at a different company for the specified employee. + properties: + benefit_type: + type: integer + description: The benefit type supported by Gusto. + tax_year: + type: number + minimum: 2000 + maximum: 2999 + description: The tax year for which this amount applies. + ytd_employee_deduction_amount: + type: string + default: '0.00' + description: The year-to-date employee deduction made outside the current company. + ytd_company_contribution_amount: + type: string + default: '0.00' + description: The year-to-date company contribution made outside the current company. + required: + - benefit_type + - tax_year + - ytd_employee_deduction_amount + - ytd_company_contribution_amount + x-tags: + - Employee Benefits + Company-Attachment: + description: The company attachment + type: object + required: + - uuid + - name + - category + - upload_time + x-examples: + success_status: + uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 + name: Company_Attachment_File.pdf + category: gep_notice + upload_time: '2024-09-10T01:54:20Z' + compliance_attachment: + uuid: 987058cc-23ee-46e9-81ef-5cee086cceca + name: Compliance_Document.pdf + category: compliance + upload_time: '2024-10-15T14:30:00Z' + x-tags: + - Company Attachment + properties: + uuid: + type: string + description: UUID of the company attachment + name: + type: string + description: name of the file uploaded + category: + type: string + description: | + The category of the company attachment. + - `gep_notice`: A tax notice attachment + - `compliance`: A compliance attachment + - `other`: Any other attachment type + enum: + - gep_notice + - compliance + - other + upload_time: + type: string + description: The ISO 8601 timestamp of when an attachment was uploaded + Company-Attachment-List: + type: array + x-examples: + success_status: + - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 + name: Company_Attachment_File1.pdf + category: gep_notice + upload_time: '2022-02-01T00:00:00.000Z' + - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca + name: Company_Attachment_File2.pdf + category: compliance + upload_time: '2022-02-01T00:00:00.000Z' + items: + "$ref": "#/components/schemas/Company-Attachment" + Company-Attachment-Download-Url: + description: The temporary url to download a Company Attachment File + type: object + required: + - url + x-examples: + success_status: + url: https://s3.amazonaws.com/static.gusto.com/assets/uploaded_files/334721.pdf?parameter=daer8r3432423djklsdafaso + success_status_alternate: + url: https://s3.amazonaws.com/static.gusto.com/assets/uploaded_files/112233.pdf?parameter=abc123def456 + properties: + url: + type: string + description: A full URL to download a Company Attachment File + Company-Attachment-Create-Request-Body: + description: The binary payload of the file and the company attachment category. + type: object + required: + - document + - category + properties: + document: + type: string + format: binary + description: The binary payload of the file to be uploaded. Supported file types are .qbb, .qbm, .gif, .jpg, .png, .pdf, .xls, .xlsx, .doc and .docx. + category: + type: string + description: | + The category of a company attachment. + - `gep_notice`: A tax notice attachment + - `compliance`: A compliance attachment + enum: + - gep_notice + - compliance + Company-Bank-Account: + description: The company bank account + type: object + x-examples: + success_status: + uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 + company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + account_type: Checking + routing_number: '851070439' + hidden_account_number: XXXX4087 + verification_status: verified + verification_type: bank_deposits + name: Employer Funding Account + reverse_wire_enabled: false + plaid_external_status: + uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 + company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + account_type: Checking + routing_number: '851070439' + hidden_account_number: XXXX4087 + verification_status: verified + verification_type: plaid_external + name: Employer Funding Account + reverse_wire_enabled: true + x-tags: + - Company Bank Accounts + properties: + uuid: + type: string + description: UUID of the bank account + company_uuid: + type: string + description: UUID of the company + account_type: + type: string + description: Bank account type + enum: + - Checking + - Savings + routing_number: + type: string + description: The bank account's routing number + hidden_account_number: + type: string + description: Masked bank account number + verification_status: + type: string + enum: + - awaiting_deposits + - ready_for_verification + - verified + description: |- + The verification status of the bank account. + + 'awaiting_deposits' means the bank account is just created and money is being transferred. + 'ready_for_verification' means the micro-deposits are completed and the verification process can begin by using the verify endpoint. + 'verified' means the bank account is verified. + verification_type: + type: string + enum: + - bank_deposits + - plaid + - plaid_external + description: |- + The verification type of the bank account. + + 'bank_deposits' means the bank account is connected by entering routing and accounting numbers and verifying through micro-deposits. + 'plaid' means the bank account is connected through Plaid. + plaid_status: + anyOf: + - type: string + enum: + - connected + - disconnected + - type: 'null' + description: The Plaid connection status of the bank account. Only applies when verification type is Plaid. + last_cached_balance: + type: + - string + - 'null' + description: The last fetch balance for the bank account. Please be aware that this amount does not reflect the most up-to-date balance and only applies when the verification type is Plaid. + balance_fetched_date: + type: + - string + - 'null' + description: The balance fetch date associated with the last_cached_balance. Only applies when verification type is Plaid. + name: + type: string + description: Name of bank account + reverse_wire_enabled: + type: + - boolean + - 'null' + description: |- + Whether the company has at least one bank account with active reverse-wire + funding. The same value is returned on every bank-account row in this + response. + required: + - uuid + Company-Bank-Account-Request: + type: object + properties: + routing_number: + type: string + description: The bank routing number + account_number: + type: string + description: The bank account number + account_type: + type: string + description: The bank account type + enum: + - Checking + - Savings + required: + - routing_number + - account_number + - account_type + Employee-Bank-Account-Request: + type: object + description: Request body for creating or updating an employee bank account. Send these fields as top-level JSON keys (the API wraps them server-side). + properties: + routing_number: + type: string + description: The bank routing number (nine digits). + example: '266905059' + account_number: + type: string + description: The bank account number. + example: '5809431207' + account_type: + type: string + description: The bank account type. + example: Checking + enum: + - Checking + - Savings + name: + type: string + description: A name for the bank account (e.g. "Primary Checking"). + example: BoA Checking Account + required: + - routing_number + - account_number + - account_type + - name + Company-Bank-Account-Verify-Request: + type: object + description: Request body for verifying a company bank account with the two micro-deposit amounts. + required: + - deposit_1 + - deposit_2 + properties: + deposit_1: + type: number + format: float + description: The first micro-deposit amount (order does not matter). + deposit_2: + type: number + format: float + description: The second micro-deposit amount (order does not matter). + Plaid-Processor-Token-Request: + type: object + description: Request body for creating a verified company bank account from a Plaid processor token. + required: + - owner_type + - owner_id + - processor_token + properties: + owner_type: + description: The owner type of the bank account + type: string + enum: + - Company + owner_id: + description: The owner UUID of the bank account + type: string + processor_token: + description: The Plaid processor token + type: string + x-examples: + example: + owner_type: Company + owner_id: ef279fbd-0fc6-4cf1-a977-6939d621c429 + processor_token: processor-sandbox-0asd1-a92nc + Benefit-Type-Requirements: + description: '' + type: object + x-tags: + - Company Benefits + properties: + employee_deduction: + type: object + description: The amount to be deducted, per pay period, from the employee's pay. + properties: required: - - section - - description - - document_type - - document_title - - common_choice - x-tags: - - I-9 Verification - Termination: - type: object - description: The representation of a termination in Gusto. - properties: - uuid: - type: string - description: The UUID of the termination object. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - employee_uuid: - type: string - description: The UUID of the employee to which this termination is attached. - readOnly: true - active: - type: boolean - description: Whether the employee's termination has gone into effect. - readOnly: true - cancelable: - type: boolean - description: Whether the employee's termination is cancelable. Cancelable is true if `run_termination_payroll` is false and `effective_date` is in the future. - readOnly: true - effective_date: - type: string - readOnly: false - description: The employee's last day of work. - run_termination_payroll: - type: boolean - readOnly: false - description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: required: - - uuid - Rehire-Body: - type: object - properties: - effective_date: - type: string - description: The day when the employee returns to work. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - work_location_uuid: - type: string - description: The uuid of the employee's work location. - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. - enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - - not_set - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + deduct_as_percentage: + type: object + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + properties: required: - - effective_date - - file_new_hire_report - - work_location_uuid - Fast-Payment-Limit-Param: - type: string - description: Fast payment limit. This limit is an aggregate of all fast payrolls amount. This limit is only relevant when payment speed is 1-day or 2-day. - Payment-Speed-Param: - type: string - description: Gusto Embedded supports three payment speeds (1-day, 2-day, and 4-day). For next-day payments, funds are deposited in your team's bank account by the end of the next business day. Most people will see the funds arrive the next afternoon, but payments may arrive as late as the end of the business day. - enum: - - 1-day - - 2-day - - 4-day - Fast-Payment-Limit-Required-Body: - type: object - properties: - fast_payment_limit: - "$ref": "#/components/schemas/Fast-Payment-Limit-Param" - payment_speed: - "$ref": "#/components/schemas/Payment-Speed-Param" + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + catch_up: + type: object + description: Whether the employee should use a benefit’s 'catch up' rate. Only Roth 401k and 401k benefits use this value for employees over 50. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + limit_option: + type: object + description: Some benefits require additional information to determine their limit. For example, for an HSA benefit, the limit option should be either 'Family' or 'Individual'. For a Dependent Care FSA benefit, the limit option should be either 'Joint Filing or Single' or 'Married and Filing Separately'. + properties: required: - - fast_payment_limit - Payment-Speed-Required-Body: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + company_contribution_annual_maximum: + type: object + description: The maximum company contribution amount per year. A null value signifies no limit. + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + coverage_salary_multiplier: + type: object + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + coverage_amount: + type: object + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + properties: + required: + type: boolean + editable: + type: boolean + default_value: + type: + - object + - 'null' + properties: + value: + type: string + type: + type: string + choices: + type: + - array + - 'null' + items: + type: string + x-examples: + Example: + employee_deduction: + required: true + editable: true + default_value: + choices: + contribution: + required: true + editable: true + default_value: + choices: + - amount + deduct_as_percentage: + required: false + editable: false + default_value: + choices: + catch_up: + required: false + editable: false + default_value: + choices: + limit_option: + required: false + editable: false + default_value: + choices: + company_contribution_annual_maximum: + required: false + editable: false + default_value: + choices: + coverage_salary_multiplier: + required: false + editable: false + default_value: + choices: + coverage_amount: + required: false + editable: false + default_value: + choices: + Benefit-Summary: + description: '' + type: object + x-tags: + - Company Benefits + x-examples: + typical_summary: + start_date: '2022-01-01' + end_date: '2022-12-31' + description: Simple IRA + company_benefit_deduction: '60.0' + company_benefit_contribution: '30.0' + employees: + - uuid: 54b7114f-f5e2-4f4b-911b-5cd5ad9032b0 + company_benefit_deduction: '60.0' + company_benefit_contribution: '30.0' + benefit_deduction: '660.0' + benefit_contribution: '330.0' + gross_pay: '18000.0' + imputed_pay: '350.0' + payroll_benefits: + - payroll_uuid: 8cc3471b-9da5-47df-88ea-f238c7cb968b + payroll_type: Regular + check_date: '2022-03-01' + gross_pay: '3000.0' + imputed_pay: '70.0' + company_benefit_deduction: '10.0' + company_benefit_contribution: '5.0' + pay_period: + start_date: '2022-02-01' + end_date: '2022-02-28' + - payroll_uuid: d9d92786-722b-4bf7-bb32-79140418d349 + payroll_type: Bonus + check_date: '2022-12-31' + gross_pay: '3000.0' + imputed_pay: '70.0' + company_benefit_deduction: '20.0' + company_benefit_contribution: '10.0' + pay_period: + start_date: nil + end_date: nil + properties: + start_date: + type: string + description: The start date of benefit summary. + end_date: + type: string + description: The end date of benefit summary. + description: + type: string + description: Description of the benefit. + company_benefit_deduction: + type: string + description: The aggregate of employee deduction for all employees given the period of time and the specific company benefit. + company_benefit_contribution: + type: string + description: The aggregate of company contribution for all employees given the period of time and the specific company benefit. + employees: + type: array + description: '' + items: type: object properties: - fast_payment_limit: - "$ref": "#/components/schemas/Fast-Payment-Limit-Param" - payment_speed: - "$ref": "#/components/schemas/Payment-Speed-Param" - required: - - payment_speed - Historical-Employee-Body: + uuid: + type: string + description: The UUID of the employee + company_benefit_deduction: + type: string + description: The sum of employee deduction for this employee given the period of time and the specific company benefit. + company_benefit_contribution: + type: string + description: The sum of company contribution for this employee given the period of time and the specific company benefit. + benefit_deduction: + type: string + description: The sum of employee benefit deduction for this employee given the period of time and the benefit type. + benefit_contribution: + type: string + description: The sum of company contribution for this employee given the period of time and the benefit type. + gross_pay: + type: string + description: Gross pay for this employee given the period of time. + imputed_pay: + type: string + description: Total imputed pay for this employee given the period of time (not scoped to a benefit type). + payroll_benefits: + type: array + items: + type: object + properties: + payroll_uuid: + type: string + payroll_type: + type: string + description: Whether it is regular or bonus payroll + check_date: + type: string + description: Check date of this payroll. + gross_pay: + type: string + description: Gross pay for this employee on the payroll. + imputed_pay: + type: string + description: Total imputed pay for this employee on the payroll. + company_benefit_deduction: + type: string + description: The employee benefit deduction amount for this employee on the payroll. + company_benefit_contribution: + type: string + description: The company contribution amount for this employee on the payroll. + pay_period: + type: object + properties: + start_date: + type: + - string + - 'null' + description: The beginning of the payroll's pay period. + end_date: + type: + - string + - 'null' + description: The end of the payroll's pay period. + Supported-Benefit: + description: '' + type: object + properties: + benefit_type: + type: integer + description: The benefit type in Gusto. + readOnly: true + name: + type: string + description: The name of the benefit. + readOnly: true + description: + type: string + description: The description of the benefit. + readOnly: true + pretax: + type: boolean + description: Whether the benefit is deducted before tax calculations, thus reducing one’s taxable income + readOnly: true + posttax: + type: boolean + description: Whether the benefit is deducted after tax calculations. + readOnly: true + imputed: + type: boolean + description: Whether the benefit is considered imputed income. + readOnly: true + healthcare: + type: boolean + description: Whether the benefit is healthcare related. + readOnly: true + retirement: + type: boolean + description: Whether the benefit is associated with retirement planning. + readOnly: true + yearly_limit: + type: boolean + description: Whether the benefit has a government mandated yearly limit. If the benefit has a government mandated yearly limit, employees cannot be added to more than one benefit of this type. + readOnly: true + category: + type: string + description: Category where the benefit belongs to. + readOnly: true + writable_by_application: + type: boolean + description: Whether this benefit can be written (created, updated, or destroyed). Returns true if the benefit type is permitted for the application, false otherwise. + readOnly: true + x-examples: + Example: + benefit_type: 1 + name: Medical Insurance + description: Deductions and contributions for Medical Insurance + pretax: true + posttax: false + imputed: false + healthcare: true + retirement: false + yearly_limit: false + category: Health + Supported-Benefits-List: + benefit_type: 1 + name: Medical Insurance + description: Deductions and contributions for Medical Insurance + pretax: true + posttax: false + imputed: false + healthcare: true + retirement: false + yearly_limit: false + category: Health + Contribution-Exclusion: + description: The representation of a contribution exclusion for a company benefit. + type: object + properties: + contribution_uuid: + type: string + description: The UUID of the contribution type. + example: '082dfd3e-5b55-11f0-bb42-ab7136ba04e2' + contribution_type: + type: string + description: The name of the contribution type. + example: Bonus + excluded: + type: boolean + description: Whether this contribution type is excluded from the benefit. + required: + - contribution_uuid + - contribution_type + - excluded + x-tags: + - Company Benefits + x-examples: + exclusion_bonus: + contribution_uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 + contribution_type: Bonus + excluded: false + exclusion_cash_tips: + contribution_uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + contribution_type: Cash Tips + excluded: false + exclusion_commission: + contribution_uuid: 60191999-004a-49d9-b163-630574433653 + contribution_type: Commission + excluded: false + exclusion_regular: + contribution_uuid: 75a7a827-1f2d-4d6f-94f2-514c1fc32b13 + contribution_type: Regular + excluded: false + exclusion_imputed: + contribution_uuid: eead3c7c-7964-4e3c-b609-670456127b09 + contribution_type: Life insurance imputed benefit + excluded: true + Company-Benefit-Create-Request: + description: '' + type: object + properties: + benefit_type: + type: integer + description: The ID of the benefit to which the company benefit belongs. + active: + type: boolean + default: true + description: Whether this benefit is active for employee participation. + description: + type: string + description: The description of the company benefit.For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like "Kaiser Permanente" or "Blue Cross/ Blue Shield". + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + required: + - description + Company-Benefit-Update-Request: + description: '' + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + active: + type: boolean + description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. + description: + type: string + description: The description of the company benefit.For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like "Kaiser Permanente" or "Blue Cross/ Blue Shield". + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to short-term and long-term disability benefits (different from voluntary disability). + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to short-term and long-term disability benefits (different from voluntary disability). + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + required: + - version + Contribution-Exclusion-Update-Request: + description: '' + type: object + properties: + contribution_exclusions: + type: array + description: The list of contribution exclusions to update + items: + "$ref": "#/components/schemas/Contribution-Exclusion" + required: + - contribution_exclusions + Employee-Benefit-Bulk-Update-Request: + description: '' + type: object + properties: + employee_benefits: + type: array + description: The list of employee benefits to create or update + items: + "$ref": "#/components/schemas/Employee-Benefit-For-Company-Benefit" + required: + - employee_benefits + Company-Benefit-With-Employee-Benefits: + description: The representation of a company benefit. + type: object + x-examples: + Example: + uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 + version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 + active: true + description: Kaiser Permanente + source: external + partner_name: XYZ Corp + deletable: true + supports_percentage_amounts: true + responsible_for_employer_taxes: false + responsible_for_employee_w2: false + catch_up_type: elective + employee_benefits: + - employee_uuid: ae44a0b2-3c89-41e1-91c8-5f8224a779ca + company_benefit_uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 + active: true + deduct_as_percentage: false + employee_deduction: '3' + company_contribution: '0' + uuid: 9988f241-9aee-4383-bfca-eac79cf58135 + contribution: + type: amount + value: '0' + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + benefit_type: + type: integer + description: The type of the benefit to which the company benefit belongs (same as benefit_id). + readOnly: true + active: + type: boolean + default: true + description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. + description: + type: string + minLength: 1 + description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. + source: + type: string + enum: + - internal + - external + - partnered + description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". + readOnly: true + partner_name: + type: + - string + - 'null' + description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". + readOnly: true + deletable: + type: boolean + description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner + supports_percentage_amounts: + type: boolean + description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. + readOnly: true + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + employee_benefits: + type: array + items: type: object properties: - first_name: - type: string - middle_initial: - type: string - last_name: - type: string - preferred_first_name: - type: string - date_of_birth: - type: string - ssn: + employee_uuid: + type: string + description: The UUID of the employee to which the benefit belongs. + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + active: + type: boolean + default: true + description: Whether the employee benefit is active. + deduct_as_percentage: + type: boolean + default: false + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction: + type: string + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + company_contribution: + type: string + description: The value of the company contribution + effective_date: + type: string + description: The date when the employee benefit becomes effective. If not provided, the benefit will be effective from 1970-01-01 (unix epoch). + expiration_date: + type: string + description: The date when the employee benefit expires. If not provided, the benefit will have no expiration date. + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + type: type: string - pattern: "[0-9]{9}" - work_address: - type: object - properties: - location_uuid: - type: string - description: Reference to a company location - home_address: - type: object - properties: - street_1: - type: string - street_2: - type: string - nullable: true - city: - type: string - state: + description: |- + The company contribution scheme. + + "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + "tiered": The company contribution varies according to the size of the employee deduction. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + - type: object + properties: + tiers: + type: array + description: '' + items: + type: object + description: A single tier of a tiered matching scheme. + properties: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and `rate` of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + threshold_delta: + type: string + description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. + required: + - uuid + Company-Benefit: + description: The representation of a company benefit. + type: object + x-examples: + Example: + uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be + version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 + benefit_type: 1 + active: true + description: Kaiser Permanente + enrollment_count: 2 + source: external + partner_name: XYZ Corp + deletable: true + supports_percentage_amounts: true + responsible_for_employer_taxes: false + responsible_for_employee_w2: false + catch_up_type: elective + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + enrollment_count: + type: integer + description: The number of employees enrolled in the benefit, only returned when enrollment_count query param is set to true. + readOnly: true + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + benefit_type: + type: integer + description: The type of the benefit to which the company benefit belongs. + readOnly: true + active: + type: boolean + default: true + description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. + description: + type: string + minLength: 1 + description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. + source: + type: string + enum: + - internal + - external + - partnered + description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". + readOnly: true + partner_name: + type: + - string + - 'null' + description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". + readOnly: true + deletable: + type: boolean + description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner + supports_percentage_amounts: + type: boolean + description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. + readOnly: true + responsible_for_employer_taxes: + type: boolean + description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. + responsible_for_employee_w2: + type: boolean + description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. + catch_up_type: + description: The type of catch-up contribution for this benefit, as required by Section 603 of the SECURE 2.0 Act. Only applicable to pre-tax 401(k) and 403(b) benefits. + anyOf: + - type: string + enum: + - elective + - deemed + - type: 'null' + required: + - uuid + Earning-Type: + description: The representation of an earning type in Gusto. + type: object + x-examples: + success: + name: Cash Tips + uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + active: true + custom_earning_type: + name: Gym Membership Stipend + uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 + active: true + properties: + name: + type: string + description: The name of the earning type. + uuid: + type: string + description: The ID of the earning type. + readOnly: true + active: + type: boolean + description: Whether the earning type is active. + x-tags: + - Earning Types + required: + - uuid + Earning-Type-List: + type: object + description: Lists of default and custom earning types for a company. + x-examples: + success: + default: + - name: Bonus + uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 + active: true + - name: Cash Tips + uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + active: true + - name: Commission + uuid: 60191999-004a-49d9-b163-630574433653 + active: true + - name: Correction Payment + uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 + active: true + - name: Minimum Wage Adjustment + uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 + active: true + - name: Paycheck Tips + uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf + active: true + - name: Severance + uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 + active: true + custom: + - name: Gym Membership Stipend + uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 + active: true + defaults_only: + default: + - name: Bonus + uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 + active: true + - name: Cash Tips + uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f + active: true + - name: Commission + uuid: 60191999-004a-49d9-b163-630574433653 + active: true + - name: Correction Payment + uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 + active: true + - name: Minimum Wage Adjustment + uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 + active: true + - name: Paycheck Tips + uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf + active: true + - name: Severance + uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 + active: true + custom: [] + properties: + default: + type: array + description: The default earning types for the company. + items: + "$ref": "#/components/schemas/Earning-Type" + custom: + type: array + description: The custom earning types for the company. + items: + "$ref": "#/components/schemas/Earning-Type" + Employee-Benefit-Base-Object: + description: '' + type: object + title: '' + additionalProperties: true + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + active: + type: boolean + default: true + description: Whether the employee benefit is active. + employee_deduction: + type: string + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + deduct_as_percentage: + type: boolean + default: false + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction_annual_maximum: + type: + - string + - 'null' + description: The maximum employee deduction amount per year. A null value signifies no limit. + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + type: + type: string + description: |- + The company contribution scheme. + + "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + "tiered": The company contribution varies according to the size of the employee deduction. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + - type: object + properties: + tiers: + type: array + description: '' + items: + type: object + description: A single tier of a tiered matching scheme. + properties: + rate: type: string - zip: + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: type: string - required: - - street_1 - - city - - state - - zip - termination: - type: object - properties: - effective_date: + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and `rate` of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + threshold_delta: type: string - format: date - description: Date the employee was terminated from the company - email: - type: string - description: Optional. If provided, the email address will be saved to the employee. - job: + description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. + elective: + type: boolean + description: Whether the company contribution is elective (aka matching). For "tiered" contribution types, this is always true. + default: false + company_contribution_annual_maximum: + type: + - string + - 'null' + description: The maximum company contribution amount per year. A null value signifies no limit. + limit_option: + type: + - string + - 'null' + description: |- + Some benefits require additional information to determine their limit. + + `Family` and `Individual` are applicable to HSA benefit. + + `Joint Filing or Single` and `Married and Filing Separately` are applicable to Dependent Care FSA benefit. + catch_up: + type: + - boolean + - 'null' + default: false + description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. + retirement_loan_identifier: + type: + - string + - 'null' + description: Identifier for a 401(k) loan assigned by the 401(k) provider + coverage_amount: + type: + - string + - 'null' + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + deduction_reduces_taxable_income: + description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' + anyOf: + - type: string + enum: + - unset + - reduces_taxable_income + - does_not_reduce_taxable_income + - type: 'null' + default: unset + coverage_salary_multiplier: + type: + - string + - 'null' + default: '0.00' + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + company_contribution: + type: string + default: '0.00' + description: The amount to be paid, per pay period, by the company. This field will not appear for tiered contribution types. + deprecated: true + contribute_as_percentage: + type: boolean + default: false + description: Whether the company_contribution value should be treated as a percentage to be added to each payroll. This field will not appear for tiered contribution types. + deprecated: true + effective_date: + type: string + format: date + description: The date the employee benefit will start. + expiration_date: + type: + - string + - 'null' + format: date + description: The date the employee benefit will expire. A null value indicates the benefit will not expire. + Employee-Benefit-Create-Request: + description: '' + type: object + properties: + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + active: + type: boolean + default: true + description: Whether the employee benefit is active. + employee_deduction: + type: string + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + deduct_as_percentage: + type: boolean + default: false + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction_annual_maximum: + type: + - string + - 'null' + description: The maximum employee deduction amount per year. A null value signifies no limit. + contribution: + type: object + description: An object representing the company contribution type and value. + properties: + type: + type: string + enum: + - tiered + - percentage + - amount + description: |- + The company contribution scheme. + + `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + - type: array + description: For `tiered` contribution types, an array of tiers. + items: type: object + description: A single tier of a tiered matching scheme. properties: - hire_date: - type: string - format: date - description: The date when the employee was hired to the company - employee_state_taxes: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and rate of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + elective: + type: boolean + description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. + default: false + company_contribution_annual_maximum: + type: + - string + - 'null' + description: The maximum company contribution amount per year. A null value signifies no limit. + limit_option: + description: |- + Some benefits require additional information to determine + their limit. + + `Family` or `Individual`: Applicable to HSA benefit. + + `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. + anyOf: + - type: string + enum: + - Family + - Individual + - Joint Filing or Single + - Married and Filing Separately + - type: 'null' + catch_up: + type: boolean + default: false + description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. + coverage_amount: + type: + - string + - 'null' + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + coverage_salary_multiplier: + type: string + default: '0.00' + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + deduction_reduces_taxable_income: + description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' + anyOf: + - type: string + enum: + - unset + - reduces_taxable_income + - does_not_reduce_taxable_income + - type: 'null' + company_contribution: + type: string + default: '0.00' + description: The amount to be paid, per pay period, by the company. + deprecated: true + contribute_as_percentage: + type: boolean + default: false + description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. + deprecated: true + effective_date: + type: string + format: date + default: '1970-01-01' + description: The date the employee benefit will start. If not provided, the benefit will be effective from 1970-01-01 (unix epoch). + expiration_date: + type: + - string + - 'null' + format: date + default: + description: The date the employee benefit will expire. A null value indicates the benefit will not expire. + required: + - company_benefit_uuid + x-examples: + Example: + company_benefit_uuid: f68abb42-431e-4392-bc3f-2795627e00f3 + active: true + employee_deduction: '100.00' + contribution: + type: amount + value: '100.00' + Employee-Benefit-Update-Request: + description: '' + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + active: + type: boolean + description: Whether the employee benefit is active. + employee_deduction: + type: string + default: '0.00' + description: The amount to be deducted, per pay period, from the employee's pay. + deduct_as_percentage: + type: boolean + description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. + employee_deduction_annual_maximum: + type: + - string + - 'null' + description: The maximum employee deduction amount per year. A null value signifies no limit. + effective_date: + type: string + format: date + description: The date the employee benefit will start. + expiration_date: + type: + - string + - 'null' + format: date + description: The date the employee benefit will expire. A null value indicates the benefit will not expire. + contribution: + type: object + description: An object representing the type and value of the company contribution. + properties: + type: + type: string + enum: + - amount + - percentage + - tiered + description: |- + The company contribution scheme. + + `amount`: The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + + `percentage`: The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + + `tiered`: The size of the company contribution corresponds to the size of the employee deduction relative to a tiered matching scheme. + value: + description: |- + For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + + For the `tiered` contribution type, an array of tiers. + oneOf: + - type: string + description: For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + - type: array + description: For `tiered` contribution types, an array of tiers. + items: type: object - description: '' + description: A single tier of a tiered matching scheme. properties: - wc_covered: - type: boolean - description: Whether this job is eligible for workers' compensation coverage in the states of Washington (WA) or Wyoming (WY). - wc_class_code: - type: string - description: The risk class code for workers' compensation in Washington or Wyoming state. For Washington, visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. For Wyoming you can search for the code online using [WY Workforce Services website](https://dws.wyo.gov/dws-division/workers-compensation/) or call the agency at (307) 235-3217. - required: - - first_name - - last_name - - date_of_birth - - ssn - - work_address - - home_address - - job - - termination - Pay-Schedule-Assignment-Body: - type: object - properties: - type: - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - description: The pay schedule assignment type. - nullable: true - hourly_pay_schedule_uuid: - type: string - description: Pay schedule for hourly employees. - salaried_pay_schedule_uuid: - type: string - description: Pay schedule for salaried employees. - default_pay_schedule_uuid: - type: string - description: Default pay schedule for employees. - partial_assignment: - type: boolean - description: Indicates whether the request provides pay schedule assignments for a partial list of employees or departments of the company. By default, this is set to false. - employees: - type: array - description: List of employees and their pay schedules. - items: - type: object - properties: - employee_uuid: - type: string - description: Employee UUID - pay_schedule_uuid: - type: string - description: Pay schedule UUID - departments: - type: array - description: List of departments and their pay schedules. - items: + rate: + type: string + description: The percentage of employee deduction within this tier the company contribution will match. + threshold: + type: string + description: |- + Specifies the upper limit (inclusive) percentage of the employee contribution that this tier applies to. + + Use threshold to define each tier's end point, with tiers applied cumulatively from 0% upwards. + + For example: + + If the first tier has a threshold of "3", and rate of "100", the company will match 100% of employee contributions from 0% up to and including 3% of payroll. + + If the next tier has a threshold of "5" and a rate of "50", the company will match 50% of contributions from above 3% up to and including 5% of payroll. + elective: + type: boolean + description: Whether the company contribution is elective (aka "matching"). For `tiered`, `elective_amount`, and `elective_percentage` contribution types this is ignored and assumed to be `true`. + default: false + company_contribution_annual_maximum: + type: + - string + - 'null' + description: The maximum company contribution amount per year. A null value signifies no limit. + limit_option: + description: |- + Some benefits require additional information to determine + their limit. + + `Family` or `Individual`: Applicable to HSA benefit. + + `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit. + anyOf: + - type: string + enum: + - Family + - Individual + - Joint Filing or Single + - Married and Filing Separately + - type: 'null' + catch_up: + type: boolean + default: false + description: Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. + coverage_amount: + type: + - string + - 'null' + description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' + deduction_reduces_taxable_income: + description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' + anyOf: + - type: string + enum: + - unset + - reduces_taxable_income + - does_not_reduce_taxable_income + - type: 'null' + default: unset + coverage_salary_multiplier: + type: string + default: '0.00' + description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' + company_contribution: + type: string + default: '0.00' + description: The amount to be paid, per pay period, by the company. + deprecated: true + contribute_as_percentage: + type: boolean + default: false + description: Whether the company contribution amount should be treated as a percentage to be deducted from each payroll. + deprecated: true + required: + - version + x-examples: + Example: + version: '09j3d29jqdpj92109j9j2d90dq' + employee_deduction: '250.00' + Employee-Benefit: + description: The representation of an employee benefit. + type: object + title: '' + x-examples: + Example: + version: '09j3d29jqdpj92109j9j2d90dq' + employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 + company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be + active: true + uuid: e91ca856-a915-4339-9b18-29f9cd66b031 + employee_deduction: '100.00' + company_contribution: '100.00' + employee_deduction_annual_maximum: '200.00' + company_contribution_annual_maximum: '200.00' + limit_option: + retirement_loan_identifier: + deduct_as_percentage: false + contribute_as_percentage: false + catch_up: false + coverage_amount: + deduction_reduces_taxable_income: + coverage_salary_multiplier: '0.00' + contribution: + type: amount + value: '100.00' + elective: false + effective_date: '2025-01-01' + expiration_date: + Tiered Example: + version: '09j3d29jqdpj92109j9j2d90dq' + employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 + company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be + active: true + uuid: e91ca856-a915-4339-9b18-29f9cd66b031 + employee_deduction: '100.00' + employee_deduction_annual_maximum: '200.00' + company_contribution_annual_maximum: '200.00' + limit_option: + deduct_as_percentage: false + catch_up: false + coverage_amount: + deduction_reduces_taxable_income: + coverage_salary_multiplier: '0.00' + elective: true + contribution: + type: tiered + value: + tiers: + - rate: '100.0' + threshold: '2.0' + threshold_delta: '2.0' + - rate: '50.0' + threshold: '5.0' + threshold_delta: '3.0' + effective_date: '2025-01-01' + expiration_date: + allOf: + - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" + - type: object + additionalProperties: true + properties: + employee_uuid: + type: string + description: The UUID of the employee to which the benefit belongs. + readOnly: true + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + uuid: + type: string + description: The UUID of the employee benefit. + readOnly: true + required: + - uuid + Employee-Benefit-For-Company-Benefit: + description: The representation of an employee benefit for a company benefit. + type: object + title: '' + allOf: + - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" + - type: object + additionalProperties: true + properties: + employee_uuid: + type: string + description: The UUID of the employee to which the benefit belongs. + company_benefit_uuid: + type: string + description: The UUID of the company benefit. + readOnly: true + uuid: + type: string + description: The UUID of the employee benefit. Required for updating an effective dated employee benefit. + action: + type: string + description: The action to perform on the employee benefit. Required for creating/updating an effective dated employee benefit. + enum: + - create + - update + required: + - employee_uuid + Employee-Pay-Stub: + description: The representation of an employee pay stub information. + type: object + properties: + uuid: + type: string + description: The UUID of the employee pay stub. + readOnly: true + check_date: + type: string + description: The check date of the pay stub. + readOnly: true + gross_pay: + type: string + description: The gross pay amount for the pay stub. + readOnly: true + net_pay: + type: string + description: The net pay amount for the pay stub. + readOnly: true + payroll_uuid: + type: string + description: A unique identifier of the payroll to which the pay stub belongs. + readOnly: true + check_amount: + type: string + description: The check amount for the pay stub. + readOnly: true + x-tags: + - Payrolls + required: + - uuid + Pay-Period: + description: The representation of a pay period. + type: object + properties: + start_date: + type: string + description: The start date, inclusive, of the pay period. + readOnly: true + end_date: + type: string + minLength: 1 + description: The end date, inclusive, of the pay period. + pay_schedule_uuid: + type: string + description: A unique identifier of the pay schedule to which the pay period belongs. + readOnly: true + payroll: + type: object + description: Information about the payroll for the pay period. + properties: + payroll_uuid: + type: string + readOnly: true + description: The UUID of the payroll for this pay period. + check_date: + type: string + description: The date on which employees will be paid for the payroll if the payroll is submitted on time. + readOnly: true + processed: + type: boolean + readOnly: true + description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. + payroll_deadline: + type: string + format: date-time + description: The date by which payroll should be run for employees to be paid on time. Payroll data, such as time and attendance data, should be submitted on or before this date. + readOnly: true + payroll_type: + type: string + description: Whether it is regular pay period or transition pay period. + enum: + - regular + - transition + readOnly: true + readOnly: true + x-examples: + typical_pay_period: + start_date: '2024-01-01' + end_date: '2024-01-15' + pay_schedule_uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + payroll: + payroll_uuid: 8c2e1ef2-7514-5b17-9879-d2ee8e35e38b + check_date: '2024-01-19' + processed: false + payroll_deadline: '2024-01-17T18:00:00Z' + payroll_type: regular + x-tags: + - Payrolls + People-Batch: + type: object + description: A batch for bulk people creation. + x-examples: + success_status: + uuid: 191e7162-3026-497e-aca2-f81b7e93204e + idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + status: pending + batch_action: create + properties: + uuid: + type: string + format: uuid + description: The unique identifier of the people batch. + readOnly: true + idempotency_key: + type: string + format: uuid + description: The idempotency key provided when creating the batch. + status: + type: string + enum: + - pending + - processing + - completed + - failed + - partial_success + description: The current status of the batch processing. + batch_action: + type: string + description: The action being performed on the batch. + required: + - uuid + - idempotency_key + - status + - batch_action + People-Batch-Results: + type: object + description: A people batch with processing results. + x-examples: + success_status: + uuid: f711ab7a-2d44-4556-b90c-9f883195f53a + idempotency_key: 95d84feb-3a17-4c0b-a00b-bf8d3dec3326 + status: pending + submitted_at: '2026-03-02T15:09:50-08:00' + completed_at: + submitted_items: + processed_items: 0 + excluded_items: 0 + results: [] + properties: + uuid: + type: string + format: uuid + description: The unique identifier of the people batch. + readOnly: true + idempotency_key: + type: string + format: uuid + description: The idempotency key provided when creating the batch. + status: + type: string + enum: + - pending + - processing + - completed + - failed + - partial_success + description: The current status of the batch processing. + submitted_at: + type: string + format: date-time + description: The timestamp when the batch was submitted. + completed_at: + type: + - string + - 'null' + format: date-time + description: The timestamp when the batch processing completed. + submitted_items: + type: + - integer + - 'null' + description: The number of items submitted in the batch. + processed_items: + type: integer + description: The number of items successfully processed. + excluded_items: + type: integer + description: The number of items excluded from processing. + results: + type: array + description: The results for each batch item. + items: + type: object + properties: + external_id: + type: string + description: The external ID provided in the batch request. + role: + type: string + enum: + - employee + description: The type of person created. + status: + type: string + enum: + - success + - partial_success + - failed + description: The status of this batch item. + idx: + type: integer + description: The index of this item in the original batch request. + uuid: + type: string + format: uuid + description: The UUID of the created person. + employee_uuid: + type: string + format: uuid + description: The UUID of the created employee (if role is employee). + errors: + type: + - array + - 'null' + description: Errors encountered while processing this batch item. + items: + type: object + properties: + error_key: + type: string + description: The key identifying the error source. + category: + type: string + description: The error category. + message: + type: + - string + - 'null' + description: Human-readable error message. + errors: + type: + - array + - 'null' + description: Nested errors for sub-operations. + items: type: object - properties: - department_uuid: - type: string - description: Department UUID - pay_schedule_uuid: - type: string - description: Pay schedule UUID - required: - - type - Flsa-Status-Type: + exclusions: + type: + - array + - 'null' + description: Items excluded from processing due to validation errors. + items: + type: object + properties: + external_id: + type: string + description: The external ID of the excluded item(s). + category: + type: string + description: The exclusion category. + message: + type: string + description: Human-readable explanation for exclusion. + item_count: + type: integer + description: Number of items affected by this exclusion. + required: + - uuid + - idempotency_key + - status + People-Batch-Conflict-Error: + type: object + description: Error response when a people batch idempotency key conflict occurs. + x-examples: + conflict: + errors: + - error_key: idempotency_key + category: invalid_attribute_value + message: Idempotency token already used + metadata: + entity_uuid: 14c53a55-0a80-4d46-a866-f5f64bc06486 + entity_type: PeopleBatch + properties: + errors: + type: array + items: + type: object + properties: + error_key: + type: string + description: The key identifying the error source. + category: + type: string + description: The error category. + message: + type: string + description: Human-readable error message. + metadata: + type: object + properties: + entity_uuid: + type: string + format: uuid + description: The UUID of the existing entity. + entity_type: + type: string + description: The type of the existing entity. + Reversal-Payroll-Uuids-Type: + type: array + description: Array of reversal payroll UUIDs, if applicable. + uniqueItems: true + items: + type: string + description: The UUID of the reversal payroll. + nullable: false + readOnly: true + Payroll-Minimal: + description: '' + type: object + x-tags: + - Payrolls + properties: + payroll_deadline: + "$ref": "#/components/schemas/Payroll-Deadline-Type" + check_date: + "$ref": "#/components/schemas/Payroll-Check-Date-Type" + processed: + "$ref": "#/components/schemas/Payroll-Processed-Type" + processed_date: + "$ref": "#/components/schemas/Payroll-Processed-Date-Type" + calculated_at: + "$ref": "#/components/schemas/Payroll-Calculated-At-Type" + uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + payroll_uuid: + "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" + company_uuid: + "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + off_cycle: + "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + off_cycle_reason: + "$ref": "#/components/schemas/Off-Cycle-Reason-Type" + auto_payroll: + "$ref": "#/components/schemas/Auto-Pilot-Type" + external: + "$ref": "#/components/schemas/Payroll-External-Type" + final_termination_payroll: + "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + withholding_pay_period: + "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + skip_regular_deductions: + "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + fixed_withholding_rate: + "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" + pay_period: + "$ref": "#/components/schemas/Payroll-Pay-Period-Type" + payroll_status_meta: + "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" + totals: + "$ref": "#/components/schemas/Payroll-Totals-Type" + payment_speed_changed: + "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" + created_at: + "$ref": "#/components/schemas/Created-At-Type" + submission_blockers: + "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" + credit_blockers: + "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" + reversal_payroll_uuids: + "$ref": "#/components/schemas/Reversal-Payroll-Uuids-Type" + required: + - company_uuid + - uuid + - payroll_uuid + - processed + Payroll-Blocker: + type: object + required: + - key + - message + properties: + key: + type: string + description: A unique identifier for the payroll blocker reason. For a complete list of blockers and their meanings, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers). + enum: + - company_ownership_required + - contractor_only_company + - eftps_in_error + - geocode_error + - geocode_needed + - invalid_signatory + - missing_addresses + - missing_bank_info + - missing_bank_verification + - missing_employee_setup + - missing_federal_tax_setup + - missing_forms + - missing_industry_selection + - missing_pay_schedule + - missing_signatory + - missing_state_tax_setup + - needs_approval + - needs_onboarding + - pay_schedule_setup_not_complete + - pending_information_request + - pending_payroll_review + - pending_recovery_case + - soft_suspended + - suspended + example: needs_approval + message: + type: string + description: A human-readable message describing the payroll blocker and what action is needed to resolve it. + example: Company needs to be approved to run payroll. + x-examples: + blockers_list: + key: needs_approval + message: Company needs to be approved to run payroll. + empty_blockers_list: [] + Printable-Payroll-Checks-Body: + description: Request body for generating printable payroll checks. + type: object + required: + - printing_format + properties: + printing_format: + type: string + enum: + - top + - bottom + description: The type of check stock being printed. Check the "Types of check stock" section in this [link](https://support.gusto.com/article/999877761000000/Pay-your-team-by-check) for more info on check types + starting_check_number: + type: integer + description: The starting check number we will start generating checks from. Use to override the sequence that will be used to generate check numbers. + x-tags: + - Payrolls + Payroll-Check: + type: object + properties: + payroll_uuid: + type: string + description: A unique identifier of the payroll. + printing_format: + type: string + description: The format the checks will be printed. + starting_check_number: + type: + - integer + - 'null' + description: The starting check number for the checks being printed. + request_uuid: + type: string + description: A unique identifier of the Generated Document request + status: + type: string + description: Current status of the Generated Document + employee_check_number_mapping: + type: array + description: An array of mapping employee uuids to their check numbers + items: + type: object + properties: + employee_uuid: + type: string + description: The UUID for an employee + check_number: + type: number + description: The check number for the relevant employee + x-examples: + example: + payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 + printing_format: top + starting_check_number: 10 + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + status: pending + employee_check_number_mapping: + - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 + check_number: 10 + Generated-Document: + type: object + properties: + request_uuid: + type: string + description: A unique identifier of the Generated Document request + status: + type: string + description: Current status of the Generated Document + enum: + - pending + - started + - succeeded + - failed + document_urls: + type: array + description: The array of urls to access the documents. + items: + type: string + x-examples: + Example: + status: succeeded + document_urls: + - https://document.url.com + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + pending: + status: pending + document_urls: [] + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + Report: + type: object + properties: + request_uuid: + type: string + description: A unique identifier of the report request + status: + type: string + description: Current status of the report, possible values are 'succeeded', 'pending', or 'failed' + report_urls: + type: array + description: The array of urls to access the report + items: + type: string + x-examples: + example: + status: succeeded + report_urls: + - https://report.url.com + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + Create-Report: + type: object + properties: + request_uuid: + type: string + description: A unique identifier of the report request + company_uuid: + type: string + description: Company UUID + custom_name: + type: + - string + - 'null' + description: Title of the report + file_type: + type: string + description: File type + x-examples: + example: + request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + company_uuid: w83d0ca8-7d41-42a9-834y-7d218ef6cb20 + custom_name: Custom Report + file_type: csv + Report-Template: + type: object + properties: + columns: + type: array + description: List of columns recommended + items: + type: string + groupings: + type: array + description: List of groupings recommended + items: + type: string + company_uuid: + type: string + description: Company UUID + report_type: + type: string + description: Type of report template + x-examples: + example: + columns: + - regular_rate + - regular_hours + - regular_earnings + groupings: + - payroll + - employee + company_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 + report_type: payroll_journal + Create-Report-Body: + description: Request body for creating a custom report. + type: object + required: + - columns + - groupings + - file_type + properties: + columns: + type: array + description: Columns to include in the report + items: + type: string + enum: + - bank_account_account_number + - bank_account_routing_number + - bank_account_type + - bank_account + - bonus + - cash_tips + - check_amount + - check_date + - commission + - date_of_birth + - double_overtime_earnings + - double_overtime_hours + - double_overtime_rate + - employee_additional_taxes + - employee_benefit_contributions + - employee_compensation_time_period + - employee_compensation + - employee_deductions + - employee_department + - employee_email + - employee_donations + - employee_federal_income_tax + - employee_first_name + - employee_last_name + - employee_middle_initial + - employee_medicare_additional_tax + - employee_medicare_tax + - employee_phone_number + - employee_social_security_tax + - employee_taxes + - employee_uuid + - employee_work_email + - employer_additional_taxes + - employer_benefit_contributions + - employer_cost + - employer_futa_tax + - employer_medicare_tax + - employer_social_security_tax + - employer_suta_tax + - employer_taxes + - employment_type + - employment + - end_date + - garnishments + - gross_earnings + - holiday_earnings + - holiday_hours + - home_address_city + - home_address_state + - home_address_street + - home_address_zip + - home_address + - job_title + - net_pay + - one_time_reimbursements + - overtime_earnings + - overtime_hours + - overtime_rate + - paid_time_off_earnings + - paid_time_off_hours + - paid_time_off_rate + - pay_period_end + - pay_period_start + - paycheck_tips + - payment_method + - payroll_type + - payroll_uuid + - preferred_first_name + - recurring_reimbursements + - regular_earnings + - regular_hours + - regular_rate + - reimbursements + - risk_class_code + - sick_rate + - sick_time_off_earnings + - sick_time_off_hours + - start_date + - total_employer_benefit_contributions + - total_time_off_earnings + - total_time_off_hours + - work_address_city + - work_address_street + - work_address_zip + groupings: + type: array + description: How to group the report + items: type: string enum: - - Exempt - - Salaried Nonexempt - - Nonexempt - - Owner - - Commission Only Exempt - - Commission Only Nonexempt - description: 'The FLSA status for this compensation. Salaried (''Exempt'') employees are paid a fixed salary every pay period. Salaried with overtime (''Salaried Nonexempt'') employees are paid a fixed salary every pay period, and receive overtime pay when applicable. Hourly (''Nonexempt'') employees are paid for the hours they work, and receive overtime pay when applicable. Commissioned employees (''Commission Only Exempt'') earn wages based only on commission. Commissioned with overtime (''Commission Only Nonexempt'') earn wages based on commission, and receive overtime pay when applicable. Owners (''Owner'') are employees that own at least twenty percent of the company. ' - Compensation: + - payroll + - employee + - work_address + - work_address_state + custom_name: + type: string + description: The title of the report + file_type: + type: string + description: The type of file to generate + enum: + - csv + - json + - pdf + with_totals: + type: boolean + description: Whether to include subtotals and grand totals in the report + default: false + start_date: + type: string + format: date + description: Start date of data to filter by + example: '2024-01-01' + end_date: + type: string + format: date + description: End date of data to filter by + example: '2024-04-01' + dismissed_start_date: + type: string + format: date + description: Dismissed start date of employees to filter by + example: '2024-01-01' + dismissed_end_date: + type: string + format: date + description: Dismissed end date of employees to filter by + example: '2024-04-01' + payment_method: + type: string + description: Payment method to filter by + enum: + - check + - direct_deposit + employment_type: + type: string + description: Employee employment type to filter by + enum: + - exempt + - salaried_nonexempt + - nonexempt + - commission_only_exempt + - commission_only_nonexempt + employment_status: + type: string + description: Employee employment status to filter by + enum: + - active_full_time + - active_part_time + - active_part_time_eligible + - active_variable + - active_seasonal + - active + - dismissed + employee_uuids: + type: + - array + - 'null' + description: Employees to filter by + items: + type: string + department_uuids: + type: array + description: Departments to filter by + items: + type: string + work_address_uuids: + type: array + description: Work addresses to filter by + items: + type: string + x-tags: + - Reports + General-Ledger-Report-Body: + description: Request body for generating a general ledger report. The report can be aggregated by different dimensions such as job or department. + type: object + required: + - aggregation + properties: + aggregation: + type: string + enum: + - default + - job + - department + - integration + description: The breakdown of the report. Use 'default' for no split. + integration_type: + description: The kind of integration set up for the company. Required when `aggregation` is 'integration'. Must be null if `aggregation` is not 'integration'. + anyOf: + - type: string + enum: + - xero + - qbo + - type: 'null' + x-tags: + - Reports + General-Ledger-Report: + type: object + description: A request for a general ledger report. The report is generated asynchronously and the URL is available via the report GET endpoint using the returned `request_uuid`. + properties: + payroll_uuid: + type: string + format: uuid + description: The UUID of the payroll record for which the report was generated. + aggregation: + type: string + enum: + - default + - job + - department + - integration + description: The breakdown level used for the report. + integration_type: + type: + - string + - 'null' + description: The `integration_type` used for the report when `aggregation` is 'integration' (e.g., `xero`, `qbo`). Otherwise, this will be null or an empty string. + request_uuid: + type: string + format: uuid + description: UUID to use for polling the report status. + x-examples: + example: + payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 + aggregation: integration + integration_type: xero + request_uuid: 550e8400-e29b-41d4-a716-446655440000 + Payroll-Reversal: + type: object + properties: + reversed_payroll_uuid: + type: string + description: The UUID for the payroll run being reversed. + reversal_payroll_uuid: + type: + - string + - 'null' + description: The UUID of the payroll where the reversal was applied. + reason: + type: string + description: A reason provided by the admin who created the reversal. + approved_at: + type: + - string + - 'null' + description: Timestamp of when the reversal was approved. + category: + type: + - string + - 'null' + description: Category chosen by the admin who requested the reversal. + reversed_employee_uuids: + type: array + description: Array of affected employee UUIDs. + items: + type: string + x-examples: + Example: + reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' + reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' + reason: Customer Request + approved_at: + category: convert_check_ee_requested + reversed_employee_uuids: + - 5f036964-185e-4c85-bbf2-3873e1203b30 + Payroll-Reversal-List: + type: array + items: + "$ref": "#/components/schemas/Payroll-Reversal" + x-examples: + Example: + - reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' + reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' + reason: Customer Request + approved_at: + category: convert_check_ee_requested + reversed_employee_uuids: + - 5f036964-185e-4c85-bbf2-3873e1203b30 + Gross-Up-Pay: + type: object + properties: + gross_up: + type: string + format: float + description: Gross up earnings. + Contractor-Payment-Receipt: + type: object + x-examples: + example: + contractor_payment_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 + company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 + name_of_sender: Torp and Sons and Sons + name_of_recipient: Patricia Hamill + debit_date: '2022-06-02' + totals: + company_debit: '748.34' + contractor_payments: + - contractor_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 + contractor_first_name: Patricia + contractor_last_name: Hamill + contractor_business_name: '' + contractor_type: Individual + payment_method: Direct Deposit + wage: '448.34' + bonus: '248.00' + reimbursement: '100.00' + licensee: + name: Gusto, Zenpayroll Inc. + address: 525 20th St + city: San Francisco + state: CA + postal_code: '94107' + phone_number: '4157778888' + license: Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page. + license_uri: https://gusto.com/about/licenses + right_to_refund: https://gusto.com/about/licenses + liability_of_licensee: https://gusto.com/about/licenses + properties: + contractor_payment_uuid: + type: string + description: A unique identifier of the contractor payment receipt. + company_uuid: + type: string + description: A unique identifier of the company making the contractor payment. + name_of_sender: + type: string + description: The name of the company making the contractor payment. + name_of_recipient: + type: string + description: The individual or company name of the contractor receiving payment. + debit_date: + type: string + description: The debit date for the contractor payment. + format: date + example: '2022-05-30' + license: + type: string + description: Always the fixed string "Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page." + license_uri: + type: string + description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" + right_to_refund: + type: string + description: URL for information related to right to refund. Always the fixed string "https://gusto.com/about/licenses" + liability_of_licensee: + type: string + description: URL for information related to right to liability of licensee. Always the fixed string "https://gusto.com/about/licenses" + totals: + type: object + description: The subtotals for the contractor payment. + properties: + company_debit: + type: string + description: The total company debit for the contractor payment. + contractor_payments: + type: array + description: An array of contractor payments for this contractor payment. + items: type: object - description: The representation of compensation in Gusto. properties: - uuid: - type: string - description: The UUID of the compensation in Gusto. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - job_uuid: - type: string - description: The UUID of the job to which the compensation belongs. - readOnly: true - employee_uuid: - type: string - description: The UUID of the employee to which the compensation belongs. - readOnly: true - rate: - type: string - readOnly: false - description: The dollar amount paid per payment unit. - payment_unit: - type: string - readOnly: false - description: The unit accompanying the compensation rate. If the employee is an owner, rate should be 'Paycheck'. - enum: - - Hour - - Week - - Month - - Year - - Paycheck - flsa_status: - "$ref": "#/components/schemas/Flsa-Status-Type" - effective_date: - type: string - readOnly: false - description: The effective date for this compensation. For the first compensation, this defaults to the job's hire date. - adjust_for_minimum_wage: - type: boolean - description: Indicates if the compensation could be adjusted to minimum wage during payroll calculation. - readOnly: true - minimum_wages: - type: array - readOnly: false - description: The minimum wages associated with the compensation. - items: - type: object - properties: - uuid: - type: string - description: The UUID of the minimum wage. - wage: - type: string - description: The wage amount. - effective_date: - type: string - description: The effective date of the minimum wage. - required: - - uuid - Form-Document-Content-Type-Type: + contractor_uuid: + type: string + description: The UUID of the contractor. + contractor_first_name: + type: string + description: The first name of the contractor. Applies when `contractor_type` is `Individual`. + contractor_last_name: + type: string + description: The last name of the contractor. Applies when `contractor_type` is `Individual`. + contractor_business_name: + type: string + description: The business name of the contractor. Applies when `contractor_type` is `Business`. + contractor_type: + type: string + description: |- + The type of contractor. + + `Individual` `Business` + payment_method: + type: string + description: The payment method. + enum: + - Direct Deposit + - Check + - Historical Payment + - Correction Payment + wage: + type: string + description: The fixed wage of the payment, regardless of hours worked. + bonus: + type: string + description: The bonus amount in the payment. + reimbursement: + type: string + description: The reimbursement amount in the payment. + licensee: + type: object + description: The licensed payroll processor + properties: + name: + type: string + description: Always the fixed string "Gusto, Zenpayroll Inc." + address: + type: string + description: Always the fixed string "525 20th St" + city: + type: string + description: Always the fixed string "San Francisco" + state: + type: string + description: Always the fixed string "CA" + postal_code: + type: string + description: Always the fixed string "94107" + phone_number: + type: string + description: Always the fixed string "4157778888" + Company-Custom-Field: + type: object + description: A custom field on a company + x-tags: + - Custom Fields + properties: + uuid: + type: string + description: UUID of the company custom field + name: + type: string + description: Name of the company custom field + type: + "$ref": "#/components/schemas/Custom-Field-Type" + description: + type: + - string + - 'null' + description: Description of the company custom field + selection_options: + type: + - array + - 'null' + description: An array of options for fields of type radio. Otherwise, null. + items: type: string - nullable: true - description: The content type of the associated document. Most forms are PDFs with a content type of `application/pdf`. Some tax file packages will be zip files (containing PDFs) with a content type of `application/zip`. This attribute will be `null` when the document has not been prepared. - readOnly: true - Form: - title: Form + required: + - uuid + - name + - type + Company-Custom-Field-List: + type: object + x-examples: + success_status: + custom_fields: + - uuid: ea7e5d57-6abb-47d7-b654-347c142886c0 + name: employee_level + description: Employee Level + type: text + selection_options: + - uuid: 024ec137-6c92-43a3-b061-14a9720531d6 + name: favorite fruit + description: Which is your favorite fruit? + type: radio + selection_options: + - apple + - banana + - orange + properties: + custom_fields: + type: array + items: + "$ref": "#/components/schemas/Company-Custom-Field" + Rehire: + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + effective_date: + type: string + description: The day when the employee returns to work. + file_new_hire_report: + type: boolean + description: The boolean flag indicating whether Gusto will file a new hire report for the employee. + work_location_uuid: + type: string + description: The uuid of the employee's work location. + employment_status: + type: string + description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. + enum: + - part_time + - full_time + - part_time_eligible + - variable + - seasonal + - not_set + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + active: + type: boolean + description: Whether the employee's rehire has gone into effect. + readOnly: true + x-examples: + example: + version: 2e930d43acbdb241f8f14a2d531fa417 + employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 + active: false + effective_date: '2024-06-30' + employment_status: seasonal + file_new_hire_report: false + work_location_uuid: 8cb87e2e-5b30-4c13-a4f4-bfffcbed1188 + two_percent_shareholder: false + active_rehire: + version: 7c930f42bcadb241f8f14a2d531fb528 + employee_uuid: 9d3b1770-c7d0-5be8-a07f-fb257bbg80f9 + active: true + effective_date: '2024-01-15' + employment_status: full_time + file_new_hire_report: true + work_location_uuid: 9dc98f3f-6c41-5d24-a5b5-c363687ebf29 + two_percent_shareholder: false + created: + version: 3a841e52dcbea351f9f25b3e642gb639 + employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 + active: false + effective_date: '2023-06-30' + employment_status: full_time + file_new_hire_report: true + work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 + two_percent_shareholder: false + Rehire-Update-Request-Body: + description: Request body for updating an employee rehire. + type: object + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Rehire-Body" + x-examples: + update_rehire: + version: 1928d0c378e519e9c03fb959bc959a6b + effective_date: '2023-06-30' + work_location_uuid: b6ae9d93-d4b8-4119-8c96-dba595dd8c30 + file_new_hire_report: true + Salary-Estimate: + type: object + description: A salary estimate calculation for an S-Corp owner based on occupation, experience level, location, and business revenue. + properties: + uuid: + type: string + description: The UUID of the salary estimate. + readOnly: true + employee_uuid: + type: + - string + - 'null' + description: The UUID of the employee this salary estimate is for. + readOnly: true + employee_job_uuid: + type: + - string + - 'null' + description: The UUID of the employee job this salary estimate is associated with (once accepted). + readOnly: true + annual_net_revenue: + type: + - string + - 'null' + description: The annual net revenue of the business used for salary calculations. + zip_code: + type: + - string + - 'null' + description: The ZIP code used for location-based salary calculations. + pattern: "^\\d{5}$" + result: + type: + - integer + - 'null' + description: The calculated reasonable salary estimate in cents. Null if not yet calculated. + readOnly: true + accepted_at: + type: + - string + - 'null' + format: date-time + description: The timestamp when this salary estimate was accepted and finalized. + readOnly: true + created_at: + type: string + format: date-time + description: The timestamp when this salary estimate was created. + readOnly: true + updated_at: + type: string + format: date-time + description: The timestamp when this salary estimate was last updated. + readOnly: true + occupations: + type: array + description: Array of occupations with their experience levels and time allocations. + items: type: object properties: - uuid: - type: string - description: The UUID of the form - readOnly: true - name: - type: string - description: The type identifier of the form - readOnly: true - title: - type: string - description: The title of the form - readOnly: true - description: - type: string - description: The description of the form - readOnly: true - draft: - type: boolean - description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. - readOnly: true - year: - type: integer - description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A W2 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. - readOnly: true - nullable: true - quarter: - type: integer - description: The quarter of this form. For some forms, e.g. tax forms, this is the calendar quarter which this form represents. An Employer's Quarterly Federal Tax Return (Form 941) for April, May, June 2022 would have a quarter value of 2 (and a year value of 2022). This value is nullable and will not be present on all forms. - readOnly: true - nullable: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. - readOnly: true - document_content_type: - "$ref": "#/components/schemas/Form-Document-Content-Type-Type" - x-examples: - Example: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: company_direct_deposit - title: Direct Deposit Authorization - description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. - draft: false - year: - quarter: - requires_signing: true - document_content_type: application/pdf - x-tags: - - Forms + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code. + name: + type: string + description: Occupation name. + description: + type: string + description: Occupation description. + experience_level: + type: string + description: Experience level for this occupation. + enum: + - novice + - intermediate + - average + - skilled + - expert + time_percentage: + type: string + description: Percentage of time spent in this occupation (as decimal string, 0-1). + primary: + type: boolean + description: Whether this is the primary occupation. required: - - uuid - Form_1099: - title: Form + - code + - experience_level + - time_percentage + required: + - uuid + - employee_uuid + - annual_net_revenue + - zip_code + - created_at + - updated_at + - occupations + x-examples: + success_status: + uuid: 7f5d3d93-6d6f-48c0-9f4e-cd12c2d3e4b2 + employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 + employee_job_uuid: + annual_net_revenue: '500000' + zip_code: '94107' + result: 12000000 + accepted_at: + created_at: '2025-01-15T10:30:00.000-08:00' + updated_at: '2025-01-15T10:30:00.000-08:00' + occupations: + - code: 15-1252 + name: Software Developers, Systems Software + description: Research, design, develop, and test operating systems-level software. + experience_level: skilled + time_percentage: '1.0' + primary: true + BLS-Occupation: + type: object + description: A Bureau of Labor Statistics occupation code with its title and description, used for salary estimate calculations. + properties: + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code. + example: 15-1252 + title: + type: string + description: Occupation title. + example: Software Developers + description: + type: string + description: Occupation description. + example: Research, design, and develop computer and network software or specialized utility programs. + required: + - code + - title + x-examples: + success_status: + code: 15-1252 + title: Software Developers + description: Research, design, and develop computer and network software or specialized utility programs. + Signatory: + description: The representation of a company's signatory + type: object + title: Signatory + x-tags: + - Signatories + properties: + uuid: + type: string + first_name: + type: + - string + - 'null' + last_name: + type: + - string + - 'null' + title: + type: + - string + - 'null' + phone: + type: + - string + - 'null' + email: + type: string + birthday: + type: + - string + - 'null' + is_admin: + type: boolean + description: Whether or not the signatory is also the payroll admin of the company. + has_ssn: + type: boolean + description: Indicates whether the signatory has an SSN in Gusto. + version: + type: string + description: The current version of the signatory. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + identity_verification_status: + anyOf: + - type: string + enum: + - Pass + - Fail + - Skipped + - type: 'null' + description: |- + | | | + |---|---| + |__Status__| __Description__ | + | Pass | Signatory can sign all forms | + | Fail | Signatory cannot sign forms | + | Skipped | Signatory cannot sign Form 8655 until the form is manually uploaded as wet-signed | + | null | Identity verification process has not been completed | + home_address: + type: + - object + - 'null' + properties: + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + default: USA + required: + - uuid + x-examples: + typical_signatory: + uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + first_name: Bob + last_name: Jones + title: CEO + phone: '4156051234' + email: bob@example.com + birthday: '1980-08-04' + is_admin: true + has_ssn: true + version: e1bdd845a493c74908f8e15d6114169b + identity_verification_status: Skipped + home_address: + signatory_with_address: + uuid: 8c2e1ef2-7514-5b17-9879-d2ee8e35e38b + first_name: Rachel + last_name: Greene + title: Onboarding specialist + phone: '4155551234' + email: rachel@example.com + birthday: + is_admin: false + has_ssn: false + version: def456 + identity_verification_status: + home_address: + street_1: 525 20th Street + street_2: Apt. 1 + city: San Francisco + state: CA + zip: '94107' + country: USA + Signatory-Invite-Request: + type: object + description: Request body for inviting a signatory. + properties: + first_name: + type: string + description: The signatory's first name. + middle_initial: + type: string + last_name: + type: string + description: The signatory's last name. + title: + type: string + description: The signatory's title (e.g. CEO, President). + phone: + type: string + description: The signatory's phone number. + birthday: + type: string + format: date + description: The signatory's date of birth. + email: + type: string + format: email + description: The signatory's email address. + ssn: + type: string + description: The signatory's SSN. Required for create with complete information; not used for invite. + home_address: + type: object + description: The signatory's home address. + properties: + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + default: USA + required: + - first_name + - last_name + - email + x-tags: + - Signatories + Signatory-Create-Request: + type: object + description: Request body for creating a signatory with complete information. All listed required fields must be provided. + properties: + first_name: + type: string + description: The signatory's first name. + middle_initial: + type: string + last_name: + type: string + description: The signatory's last name. + title: + type: string + description: The signatory's title (e.g. CEO, President). + phone: + type: string + description: The signatory's phone number. + birthday: + type: string + format: date + description: The signatory's date of birth. + email: + type: string + format: email + description: The signatory's email address. + ssn: + type: string + description: The signatory's SSN. + home_address: + type: object + description: The signatory's home address. + properties: + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + default: USA + required: + - street_1 + - city + - state + - zip + required: + - first_name + - last_name + - email + - title + - phone + - birthday + - ssn + - home_address + x-tags: + - Signatories + Signatory-Update-Request: + type: object + description: Request body for updating a signatory. Email cannot be updated. + properties: + version: + type: string + description: Current version of the signatory (required for optimistic concurrency). + first_name: + type: string + middle_initial: + type: string + last_name: + type: string + title: + type: string + phone: + type: string + birthday: + type: string + format: date + ssn: + type: string + description: The signatory's SSN. + home_address: + type: object + properties: + street_1: + type: string + street_2: + type: string + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + country: + type: string + required: + - version + x-tags: + - Signatories + Flow: + description: The representation of a flow in Gusto white-label UI. + type: object + x-examples: + success_status: + url: https://flows.gusto-demo.com/flows/lO2BHHAMCScPVV9G5WEURW0Im_nP9mGYloQgjUWbenQ + title: Flow + x-tags: + - Flows + properties: + url: + type: string + Create-Flow-Request: + description: Request body for creating a flow. + type: object + required: + - flow_type + properties: + flow_type: + type: string + description: The type of flow to generate. Multiple flow types can be combined by separating them with commas (e.g., "add_addresses,add_employees,sign_all_forms"). + example: company_onboarding + entity_uuid: + type: string + description: UUID of the target entity applicable to the flow. This field is optional for company flows. + entity_type: + type: string + description: The type of target entity applicable to the flow. This field is optional for company flows. + enum: + - Company + - Employee + - Contractor + - Payroll + options: + type: object + description: Optional configuration object that varies based on the flow_type. This can contain arbitrary key-value pairs specific to the flow being generated. + additionalProperties: true + x-examples: + example: + flow_type: company_onboarding + with_entity: + flow_type: employee_form_signing + entity_uuid: 1b71bb5b-4811-46e9-8a8a-cf5521cbeda6 + entity_type: Employee + with_options: + flow_type: company_retirement_benefits + options: + provider: guideline + Unprocessed-Termination-Pay-Period: + description: The representation of an unprocessed termination pay period. + type: object + properties: + start_date: + type: string + description: The start date of the pay period. + readOnly: true + end_date: + type: string + description: The end date of the pay period. + check_date: + type: string + description: The check date of the pay period. + readOnly: true + debit_date: + type: string + description: The debit date of the pay period. + employee_name: + type: string + description: The full name of the employee. + employee_uuid: + type: string + description: A unique identifier of the employee. + pay_schedule_uuid: + type: string + description: A unique identifier of the pay schedule to which the pay period belongs. + x-examples: + typical_unprocessed_termination_pay_period: + start_date: '2023-01-11' + end_date: '2023-01-24' + check_date: '2023-01-28' + debit_date: '2023-01-26' + employee_name: Mary Warner + employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' + pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 + x-tags: + - Employee Employments + Pay-Schedule-Assignment: + description: The representation of a pay schedule assignment. + type: object + x-examples: + example: + type: by_employee + employees: + - employee_uuid: f0238368-f2cf-43e2-9a07-b0265f2cec69 + pay_schedule_uuid: c277ac52-9871-4a96-a1e6-0c449684602a + properties: + type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. + readOnly: true + hourly_pay_schedule_uuid: + type: + - string + - 'null' + description: Pay schedule for hourly employees. + readOnly: true + salaried_pay_schedule_uuid: + type: + - string + - 'null' + description: Pay schedule for salaried employees. + readOnly: true + default_pay_schedule_uuid: + type: + - string + - 'null' + description: Default pay schedule for employees. + readOnly: true + employees: + type: + - array + - 'null' + description: List of employees and their pay schedules. + readOnly: true + items: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee" + departments: + type: + - array + - 'null' + description: List of departments and their pay schedules. + readOnly: true + items: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Department" + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Employee: + type: object + x-examples: + example-1: + employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + properties: + employee_uuid: + type: string + description: The UUID of the employee. + pay_schedule_uuid: + type: + - string + - 'null' + description: The employee's pay schedule UUID. + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Department: + type: object + x-examples: + example-1: + department_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + properties: + department_uuid: + type: string + description: The UUID of the department. + pay_schedule_uuid: + type: string + description: The department's pay schedule UUID. + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Preview: + description: The representation of a pay schedule assignment preview. + type: object + x-examples: + example: + type: hourly_salaried + employee_changes: + - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + first_name: Penny + last_name: Parker + pay_frequency: Twice per month — Salaried pay schedule + first_pay_period: + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + start_date: '2023-07-01' + end_date: '2023-08-01' + check_date: '2023-08-02' + transition_pay_period: + start_date: '2023-06-20' + end_date: '2023-06-30' + properties: + type: + anyOf: + - type: string + enum: + - single + - hourly_salaried + - by_employee + - by_department + - type: 'null' + description: The pay schedule assignment type. + readOnly: true + employee_changes: + type: array + description: A list of pay schedule changes including pay period and transition pay period. + items: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee-Change" + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Employee-Change: + type: object + x-examples: + example-1: + employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 + first_name: Penny + last_name: Parker + pay_frequency: Twice per month — Salaried pay schedule + first_pay_period: + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + start_date: '2023-07-01' + end_date: '2023-08-01' + check_date: '2023-08-02' + transition_pay_period: + start_date: '2023-06-20' + end_date: '2023-06-30' + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + first_name: + type: string + description: The employee's first name. + readOnly: true + last_name: + type: string + description: The employee's last name. + readOnly: true + pay_frequency: + type: string + description: New pay schedule frequency and name. + readOnly: true + first_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Pay-Period" + transition_pay_period: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Transition-Pay-Period" + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Pay-Period: + description: Pay schedule assignment first pay period information. + type: object + x-examples: + example-1: + pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 + start_date: '2023-07-01' + end_date: '2023-08-01' + check_date: '2023-08-02' + properties: + pay_schedule_uuid: + type: string + description: The pay schedule UUID. + start_date: + type: string + description: Pay period start date. + end_date: + type: string + description: Pay period end date. + check_date: + type: string + description: Pay period check date. + x-tags: + - Pay Schedules + Pay-Schedule-Assignment-Transition-Pay-Period: + description: Pay schedule assignment transition pay period information. + type: object + x-examples: + example-1: + start_date: '2023-07-01' + end_date: '2023-08-01' + properties: + start_date: + type: string + description: Pay period start date. + end_date: + type: string + description: Pay period end date. + x-tags: + - Pay Schedules + Accruing-Time-Off-Hour: + description: The representation of an unprocessed termination pay period. + type: object + properties: + time_off_policy_uuid: + type: string + description: A unique identifier of the time off policy. + hours: + type: string + description: Hours accrued during this pay period. + Employee-Federal-Tax-Pre2020: + title: Employee-Federal-Tax-Pre2020 + type: object + description: Federal tax information for employees using the pre-2020 W4 form. + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee. + employee_id: + type: integer + description: The internal ID of the employee. + company_id: + type: integer + description: The internal ID of the company. + w4_data_type: + type: string + description: The version of w4 form. + enum: + - pre_2020_w4 + filing_status: + type: + - string + - 'null' + description: |- + It determines which tax return form an individual will use and is an important factor in computing taxable income. One of: + - Single + - Married + - Head of Household + - Exempt from withholding + - Married, but withhold as Single + federal_withholding_allowance: + type: + - number + - 'null' + description: An exemption from paying a certain amount of income tax. May be null when filing_status is "Exempt from withholding". + additional_withholding: + type: string + description: An additional withholding dollar amount. + required: + - version + - w4_data_type + - additional_withholding + x-tags: + - Employee Tax Setup + Employee-Federal-Tax-Rev2020: + title: Employee-Federal-Tax-Rev2020 + type: object + description: Federal tax information for employees using the revised 2020 W4 form. + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + employee_uuid: + type: string + description: The UUID of the employee. + employee_id: + type: integer + description: The internal ID of the employee. + company_id: + type: integer + description: The internal ID of the company. + w4_data_type: + type: string + description: The version of w4 form. + enum: + - rev_2020_w4 + filing_status: + type: + - string + - 'null' + description: |- + It determines which tax return form an individual will use and is an important factor in computing taxable income. One of: + - Single + - Married + - Head of Household + - Exempt from withholding + extra_withholding: + type: + - string + - 'null' + description: An employee can request an additional amount to be withheld from each paycheck. + two_jobs: + type: + - boolean + - 'null' + description: If there are only two jobs (i.e., you and your spouse each have a job, or you have two), you can set it to true. + dependents_amount: + type: + - string + - 'null' + description: A dependent is a person other than the taxpayer or spouse who entitles the taxpayer to claim a dependency exemption. + other_income: + type: + - string + - 'null' + description: Other income amount. + deductions: + type: + - string + - 'null' + description: Deductions other than the standard deduction to reduce withholding. + required: + - version + - w4_data_type + - filing_status + - extra_withholding + - two_jobs + - dependents_amount + - other_income + - deductions + x-tags: + - Employee Tax Setup + Employee-Federal-Tax: + title: Employee-Federal-Tax + type: object + description: Federal tax information for an employee. The response structure varies based on the w4_data_type field. + oneOf: + - "$ref": "#/components/schemas/Employee-Federal-Tax-Pre2020" + - "$ref": "#/components/schemas/Employee-Federal-Tax-Rev2020" + discriminator: + propertyName: w4_data_type + mapping: + pre_2020_w4: "#/components/schemas/Employee-Federal-Tax-Pre2020" + rev_2020_w4: "#/components/schemas/Employee-Federal-Tax-Rev2020" + x-examples: + rev_2020_w4: + version: 56a489ce86ed6c1b0f0cecc4050a0b01 + filing_status: Single + two_jobs: false + dependents_amount: '1000.0' + other_income: '10.0' + deductions: '11.0' + extra_withholding: '9.0' + w4_data_type: rev_2020_w4 + employee_uuid: 7d70e6b0-9889-4060-9eef-aafabc14e2f2 + employee_id: 1 + company_id: 1 + rev_2020_w4_married_two_jobs: + version: 63859768485e218ccf8a449bb60f14ed + w4_data_type: rev_2020_w4 + filing_status: Married + two_jobs: true + dependents_amount: '2000.0' + other_income: '20.0' + deductions: '11.0' + extra_withholding: '9.0' + employee_uuid: 8d70e6b0-9889-4060-9eef-aafabc14e2f2 + employee_id: 2 + company_id: 1 + x-tags: + - Employee Tax Setup + Employee-State-Tax: + title: Employee-State-Tax + type: object + x-examples: + example-1: + uuid: 287d2c61-1d18-4126-8a4a-9cb29bbb6dac + employee_uuid: 2005e601-3c78-410a-9d40-b960ae130383 + state: CA + questions: + - label: Filing Status + description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + +' + key: filing_status + input_question_format: + type: Select + options: + - value: S + label: Single + - value: M + label: Married one income + - value: MD + label: Married dual income + - value: H + label: Head of household + - value: E + label: Do Not Withhold + answers: + - value: S + valid_from: '2010-01-01' + valid_up_to: + - label: Withholding Allowance + description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + +' + key: withholding_allowance + input_question_format: + type: Number + answers: + - value: 1 + valid_from: '2010-01-01' + valid_up_to: + - label: Additional Withholding + description: You can withhold an additional amount of California income taxes here. + key: additional_withholding + input_question_format: + type: Currency + answers: + - value: '0.0' + valid_from: '2010-01-01' + valid_up_to: + - label: File a New Hire Report? + description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. + key: file_new_hire_report + input_question_format: + type: Select + options: + - value: true + label: Yes, file the state new hire report for me. + - value: false + label: No, I have already filed. + answers: + - value: true + valid_from: '2010-01-01' + valid_up_to: + x-tags: + - Employee Tax Setup + properties: + uuid: + type: string + description: The uuid of the employee state field. + employee_uuid: + type: string + description: The employee's uuid + state: + type: string + description: Two letter US state abbreviation + file_new_hire_report: + type: + - boolean + - 'null' + is_work_state: + type: boolean + questions: + type: array + items: + "$ref": "#/components/schemas/Employee-State-Tax-Question" + required: + - uuid + - employee_uuid + - state + - questions + Federal-Tax-Details: + title: Federal-Tax-Details + type: object + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + tax_payer_type: + anyOf: + - type: string + enum: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + - type: 'null' + description: |- + What type of tax entity the company is. One of: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + taxable_as_scorp: + type: boolean + description: |- + Whether the company is taxed as an S-Corporation. Tax payer types that may be taxed as an S-Corporation include: + - S-Corporation + - C-Corporation + - LLC + filing_form: + type: string + enum: + - '941' + - '944' + description: |- + The form used by the company for federal tax filing. One of: + - 941 (Quarterly federal tax return form) + - 944 (Annual federal tax return form) + has_ein: + type: boolean + description: Whether company's Employer Identification Number (EIN) is present + ein_verified: + type: boolean + description: Whether the EIN has been successfully verified as a valid EIN with the IRS. + ein_verification: + type: object + nullable: false + description: Information about the status of verifying the company's Employer Identification Number (EIN) + properties: + status: + type: string + nullable: false + enum: + - pending + - verified + - failed + description: |- + The status of EIN verification: + - `pending`: The EIN verification process has not completed (or the company does not yet have an EIN). + - `verified`: The EIN has been successfully verified as a valid EIN with the IRS. + - `failed`: The company's EIN did not pass verification. Common issues are being entered incorrectly or not matching the company's legal name. + legal_name: + type: string + description: The legal name of the company + effective_date: + type: string + description: The date that these details took effect. + deposit_schedule: + type: string + description: |- + How often the company sends money to the IRS. One of: + - Semiweekly + - Monthly + x-examples: + Success: + version: 68934a3e9455fa72420237eb + tax_payer_type: S-Corporation + taxable_as_scorp: true + filing_form: '941' + has_ein: true + ein_verified: true + ein_verification: + status: verified + legal_name: Acme Corp + effective_date: '2024-01-01' + deposit_schedule: Semiweekly + x-tags: + - Federal Tax Details + Federal-Tax-Details-Update: + title: Federal-Tax-Details-Update + type: object + required: + - version + properties: + version: + type: string + example: 6cb95e00540706ca48d4577b3c839fbe + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + legal_name: + type: string + example: Acme Corp. + description: The legal name of the company + ein: + type: string + example: '123456789' + description: The company's Employer Identification Number (EIN). Must be 9 digits. Dashes are optional (e.g., '12-3456789' or '123456789'). + tax_payer_type: + type: string + example: LLP + enum: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + description: |- + What type of tax entity the company is. One of: + - C-Corporation + - S-Corporation + - Sole proprietor + - LLC + - LLP + - Limited partnership + - Co-ownership + - Association + - Trusteeship + - General partnership + - Joint venture + - Non-Profit + filing_form: + type: string + example: '944' + enum: + - '941' + - '944' + description: |- + The form used by the company for federal tax filing. One of: + - 941 (Quarterly federal tax return form) + - 944 (Annual federal tax return form) + taxable_as_scorp: + type: boolean + example: false + description: Whether the company is taxed as an S-Corporation + x-tags: + - Federal Tax Details + Employee-Bank-Account: + title: Employee-Bank-Account + type: object + x-examples: + Example: + uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 + name: BoA Checking Account + routing_number: '266905059' + hidden_account_number: XXXX1207 + account_type: Checking + properties: + uuid: + type: string + description: UUID of the bank account + employee_uuid: + type: string + description: UUID of the employee + account_type: + type: string + enum: + - Checking + - Savings + description: Bank account type + name: + type: string + description: Name for the bank account + routing_number: + type: string + description: The bank account's routing number + hidden_account_number: + type: string + description: Masked bank account number + x-tags: + - Employee Payment Method + required: + - uuid + Contractor-Bank-Account: + title: Contractor-Bank-Account + type: object + x-examples: + example: + uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 + name: BoA Checking Account + routing_number: '266905059' + hidden_account_number: XXXX1207 + account_type: Checking + x-tags: + - Contractor Payment Method + properties: + uuid: + type: string + description: UUID of the bank account + contractor_uuid: + type: string + description: UUID of the contractor + account_type: + type: string + enum: + - Checking + - Savings + description: Bank account type + name: + type: string + description: Name for the bank account + routing_number: + type: string + description: The bank account's routing number + hidden_account_number: + type: string + description: Masked bank account number + required: + - uuid + - contractor_uuid + - name + - routing_number + - hidden_account_number + - account_type + Contractor-Bank-Account-List: + title: Contractor-Bank-Account-List + type: array + items: + "$ref": "#/components/schemas/Contractor-Bank-Account" + x-examples: + example: + - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 + name: BoA Checking Account + routing_number: '266905059' + hidden_account_number: XXXX1207 + account_type: Checking + Contractor-Bank-Account-Create-Request-Body: + title: Contractor-Bank-Account-Create-Request-Body + type: object + required: + - name + - routing_number + - account_number + - account_type + properties: + name: + type: string + description: Name for the bank account + routing_number: + type: string + description: The bank account's routing number + account_number: + type: string + description: The bank account's account number + account_type: + type: string + enum: + - Checking + - Savings + description: Bank account type + x-examples: + example: + name: BoA Checking Account + routing_number: '266905059' + account_number: '5809431207' + account_type: Checking + DetailedPaymentAccountSplit: + title: DetailedPaymentAccountSplit + type: object + description: Details of a single payment split for a payment method. + properties: + bank_account_uuid: + type: string + description: The UUID of the bank account. + readOnly: true + hidden_account_number: + type: string + description: The masked account number. + readOnly: true + name: + type: string + description: The name of the bank account. + readOnly: true + priority: + type: integer + description: The priority of the payment split. + readOnly: true + split_amount: + type: + - integer + - 'null' + description: If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%). + readOnly: true + encrypted_account_number: + type: + - string + - 'null' + description: Ciphertext containing the full bank account number, which must be decrypted using a key provided by Gusto. Only visible with the appropriate `read:account_number` scope (e.g., `employee_payment_methods:read:account_number`). + readOnly: true + x-examples: + AmountSplitExample: + value: + bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + hidden_account_number: XXXX1207 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + name: Primary Checking + priority: 1 + split_amount: 50000 + PercentageSplitExample: + value: + bank_account_uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + hidden_account_number: XXXX5678 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + name: Savings Account + priority: 1 + split_amount: 100 + EmployeePaymentDetail: + title: EmployeePaymentDetail + type: object + description: Represents an employee's payment method details. + properties: + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + payment_method: + type: string + description: The type of payment method. + enum: + - Direct Deposit + - Check + readOnly: true + split_by: + anyOf: + - type: string + enum: + - Percentage + - Amount + - type: 'null' + description: How the payment is split. This field is applicable when `payment_method` is "Direct Deposit". + readOnly: true + splits: + type: + - array + - 'null' + description: An array of payment splits. This field is applicable when `payment_method` is "Direct Deposit". + items: + "$ref": "#/components/schemas/DetailedPaymentAccountSplit" + readOnly: true + x-examples: + DirectDepositExample: + value: + employee_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 + payment_method: Direct Deposit + split_by: Percentage + splits: + - bank_account_uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + hidden_account_number: XXXX1207 + encrypted_account_number: mbNLVOm7psP16ocqXso5ZtzOXBrA-5Q-.zarrdLBmyYDDK4kCkF2reKtzx8udK8iDabtW + name: Primary Checking + priority: 1 + split_amount: 100 + Employee-Payment-Method: + title: Employee-Payment-Method + type: object + x-examples: + direct_deposit_percentage: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Percentage + splits: + - uuid: 4b35bebe-3445-4014-a748-1e264647d601 + name: Cayman Island Checking + hidden_account_number: XXXX1234 + priority: 1 + split_amount: 100 + Example-1: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Amount + splits: + - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + name: BoA Checking Account + priority: 1 + split_amount: 50000 + - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a + name: Chase Checking Account + priority: 2 + split_amount: 100000 + - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 + name: US Bank Checking Account + priority: 3 + split_amount: + Example-2: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Direct Deposit + split_by: Percentage + splits: + - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e + name: BoA Checking Account + priority: 1 + split_amount: 60 + - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a + name: Chase Checking Account + priority: 2 + split_amount: 40 + Example-3: + value: + version: 63859768485e218ccf8a449bb60f14ed + type: Check + description: '' + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + type: + type: string + enum: + - Direct Deposit + - Check + description: The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. + split_by: + anyOf: + - type: string + enum: + - Amount + - Percentage + - type: 'null' + description: Describes how the payment will be split. If `split_by` is Percentage, then the split amounts must add up to exactly 100. If `split_by` is Amount, then the last split `amount` must be `null` to capture the remainder. + splits: + type: + - array + - 'null' + items: + "$ref": "#/components/schemas/Payment-Method-Bank-Account" + x-tags: + - Employee Payment Method + Tax-Requirement: + type: object + x-examples: + ga-withholding-requirement-example: + key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. + value: 1233214-AB + editable: true + metadata: + type: account_number + mask: "#######-^^" + prefix: + properties: + key: + "$ref": "#/components/schemas/Tax-Requirement-Key" + applicable_if: + type: array + description: An array of references to other requirements within the requirement set. This requirement is only applicable if all referenced requirements have values matching the corresponding `value`. The primary use-case is dynamically hiding and showing requirements as values change. E.g. Show Requirement-B when Requirement-A has been answered with `false`. To be explicit, an empty array means the requirement is applicable. + items: type: object properties: - uuid: - type: string - description: The UUID of the form - readOnly: true - name: - type: string - description: The type identifier of the form - readOnly: true - title: - type: string - description: The title of the form - readOnly: true - description: - type: string - description: The description of the form - readOnly: true - draft: - type: boolean - description: If the form is in a draft state. E.g. End of year tax forms may be provided in a draft state prior to being finalized. - readOnly: true - year: - type: integer - description: The year of this form. For some forms, e.g. tax forms, this is the year which the form represents. A 1099 for January - December 2022 would be delivered in January 2023 and have a year value of 2022. This value is nullable and will not be present on all forms. - readOnly: true - nullable: true - quarter: - type: integer - description: The quarter of this form. This value is currently always null since it is not present on any contractor forms. - readOnly: true - nullable: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the form needs signing or not. Note that this value will change after the form is signed. - readOnly: true - document_content_type: - "$ref": "#/components/schemas/Form-Document-Content-Type-Type" - contractor_uuid: - type: string - description: The contractor UUID - readOnly: true - x-examples: - Example: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: US_1099 - title: 'Form 1099: 2020' - description: Form 1099 records your annual income as a contractor. - draft: false - requires_signing: false - year: 2020 - quarter: - document_content_type: application/pdf - contractor_uuid: 123dd616-6dbc-4724-938a-403f6217a933 - x-tags: - - Forms - required: - - uuid - Form-Pdf: - title: Form Pdf + key: + "$ref": "#/components/schemas/Tax-Requirement-Key" + value: + description: The required value of the requirement identified by `key` + oneOf: + - type: boolean + - type: string + - type: number + - type: 'null' + label: + type: string + description: A customer facing description of the requirement + description: + type: + - string + - 'null' + description: A more detailed customer facing description of the requirement + value: + "$ref": "#/components/schemas/Tax-Requirements-Value" + metadata: + "$ref": "#/components/schemas/Tax-Requirement-Metadata" + editable: + type: boolean + description: Whether the value of this requirement can be updated + Tax-Requirement-Metadata: + type: object + x-examples: + select-example: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + tax_rate-example: + metadata: + type: tax_rate + validation: + type: min_max + min: '0.0004' + max: '0.081' + radio-example: + metadata: + type: radio + options: + - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly + short_label: Not Reimbursable + value: false + - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly + short_label: Reimbursable + value: true + account_number-example: + metadata: + type: account_number + mask: "######-##" + prefix: + properties: + type: + type: string + enum: + - text + - currency + - radio + - select + - percent + - account_number + - tax_rate + - workers_compensation_rate + description: | + Describes the type of requirement - each type may have additional metadata properties to describe possible values, formats, etc. + + - `text`: free-text input, no additional requirements + - `currency`: a value representing a dollar amount, e.g. `374.55` representing `$374.55` + - `radio`: choose one of options provided, see `options` + - `select`: choose one of options provided, see `options` + - `percent`: A decimal value representing a percentage, e.g. `0.034` representing `3.4%` + - `account_number`: An account number for a tax agency, more information provided by `mask` and `prefix` + - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing a tax rate of `3.4%`, see `validation` for additional validation guidance + - `workers_compensation_rate`: A decimal value representing a percentage, see `risk_class_code`, `risk_class_description`, and `rate_type` + readOnly: true + options: + type: array + description: "[for `select` or `radio`] An array of objects describing the possible values." + items: type: object properties: - uuid: - type: string - description: the UUID of the form - readOnly: true - document_url: - type: string - description: the URL of the form - nullable: true - document_content_type: - "$ref": "#/components/schemas/Form-Document-Content-Type-Type" + label: + type: string + description: A customer facing label for the answer + value: + oneOf: + - type: string + - type: boolean + description: The actual value to be submitted + short_label: + type: + - string + - 'null' + description: A less verbose label that may sometimes be available required: - - uuid - Document: - title: Document + - label + - value + risk_class_code: + type: string + description: "[for `workers_compensation_rate`] The industry risk class code for the rate being requested" + risk_class_description: + type: string + description: "[for `workers_compensation_rate`] A description of the industry risk class for the rate being requested" + rate_type: + type: string + description: | + [for `workers_compensation_rate`] The type of rate being collected. Either: + - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1% + - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr + enum: + - percent + - currency_per_hour + mask: + type: + - string + - 'null' + description: | + [for `account_number`] A pattern describing the format of the account number + + The mask is a sequence of characters representing the requirements of the actual account number. Each character in the mask represents a single character in the account number as follows: + - `#`: a digit (`\d`) + - `@`: a upper or lower case letter (`[a-zA-Z]`) + - `^`: an uppercase letter (`[A-Z]`) + - `%`: a digit or uppercase letter (`[0-9A-Z]`) + - any other character represents the literal character + + Examples: + - mask: `WHT-######` represents `WHT-` followed by 5 digits, e.g. `WHT-33421` + - mask: `%####-^^` supports values of `75544-AB` and `Z7654-HK` + prefix: + type: + - string + - 'null' + description: "[for `account_number`] A value that precedes the value to be collected - useful for display, but should not be submitted as part of the value. E.g. some tax agencies use an account number that is a company's federal ein plus two digits. In that case the mask would be `##` and the prefix `XXXXX1234`." + validation: + type: object + description: "[for `tax_rate`] Describes the validation required for the tax rate" + properties: + type: + type: string + description: Describes the type of tax_rate validation rule + enum: + - one_of + - min_max + min: + type: string + description: "[for `min_max`] The inclusive lower bound of the tax rate" + max: + type: string + description: "[for `min_max`] The inclusive upper bound of the tax rate" + rates: + type: array + description: | + [for `one_of`] The possible, unformatted tax rates for selection. + - e.g. ["0.0", "0.001"] representing 0% and 0.1% + items: + type: string + required: + - type + required: + - type + description: '' + Tax-Requirement-Set: + type: object + x-examples: + tax-requirements-set-ga-registrations-example: + state: GA + key: registrations + label: Registrations + effective_from: + requirements: + - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. + value: 1233214-AB + metadata: + type: account_number + mask: "#######-^^" + prefix: + - key: 6c0911ab-5860-412e-bdef-6437cd881df5 + applicable_if: [] + label: DOL Account Number + description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. + value: 474747-88 + metadata: + type: account_number + mask: "######-##" + prefix: + description: '' + properties: + state: + "$ref": "#/components/schemas/State" + key: + "$ref": "#/components/schemas/Tax-Requirement-Set-Key" + label: + type: string + description: Customer facing label for the requirement set, e.g. "Registrations" + effective_from: + "$ref": "#/components/schemas/Tax-Requirement-Effective-From" + requirements: + type: array + items: + "$ref": "#/components/schemas/Tax-Requirement" + Tax-Requirements-State: + title: Tax-Requirements-State + type: object + x-examples: + tax-requirements-state-ga-example: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: registrations + label: Registrations + effective_from: + requirements: + - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. + value: 1233214-AB + editable: true + metadata: + type: account_number + mask: "#######-^^" + prefix: + - key: 6c0911ab-5860-412e-bdef-6437cd881df5 + applicable_if: [] + label: DOL Account Number + description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. + value: 474747-88 + editable: true + metadata: + type: account_number + mask: "######-##" + prefix: + - state: GA + key: taxrates + label: Tax Rates + effective_from: '2022-01-01' + requirements: + - key: suireimbursable + applicable_if: [] + label: SUI Reimburser + description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses (like non-profits or government organizations) may be allowed to reimburse the state if one of their employees collects unemployment benefits. + value: false + editable: true + metadata: + type: radio + options: + - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly + short_label: Not Reimbursable + value: false + - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly + short_label: Reimbursable + value: true + - key: e0ac2284-8d30-4100-ae23-f85f9574868b + applicable_if: + - key: suireimbursable + value: false + label: Total Tax Rate + description: Haven't received your assigned rate yet? Find the new employer rate and enter it here. + value: '0.05' + editable: true + metadata: + type: tax_rate + validation: + type: min_max + min: '0.0004' + max: '0.081' + - state: GA + key: depositschedules + label: Deposit Schedules + effective_from: '2022-01-01' + requirements: + - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c + applicable_if: [] + label: Deposit Schedule + description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. + value: Monthly + editable: true + metadata: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + - state: GA + key: depositschedules + label: Deposit Schedules + effective_from: '2022-07-01' + requirements: + - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c + applicable_if: [] + label: Deposit Schedule + description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. + value: Monthly + editable: true + metadata: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + tax-requirements-metadata-select: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: depositschedules + label: Deposit Schedules + effective_from: '2022-01-01' + requirements: + - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c + applicable_if: [] + label: Deposit Schedule + description: The deposit schedule assigned by the state agency. + value: Monthly + editable: true + metadata: + type: select + options: + - label: Semiweekly + value: Semi-weekly + - label: Monthly + value: Monthly + - label: Quarterly + value: Quarterly + tax-requirements-metadata-radio: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: taxrates + label: Tax Rates + effective_from: '2022-01-01' + requirements: + - key: suireimbursable + applicable_if: [] + label: SUI Reimburser + description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses may be allowed to reimburse the state if one of their employees collects unemployment benefits. + value: false + editable: true + metadata: + type: radio + options: + - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly + short_label: Not Reimbursable + value: false + - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don't have to pay SUI taxes quarterly + short_label: Reimbursable + value: true + tax-requirements-metadata-account-number: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: registrations + label: Registrations + effective_from: + requirements: + - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + applicable_if: [] + label: Withholding Number + description: Your state withholding account number. + value: 1233214-AB + editable: true + metadata: + type: account_number + mask: "#######-^^" + prefix: + tax-requirements-metadata-tax-rate: + company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 + state: GA + requirement_sets: + - state: GA + key: taxrates + label: Tax Rates + effective_from: '2022-01-01' + requirements: + - key: e0ac2284-8d30-4100-ae23-f85f9574868b + applicable_if: + - key: suireimbursable + value: false + label: Total Tax Rate + description: The assigned SUI tax rate for this state. + value: '0.05' + editable: true + metadata: + type: tax_rate + validation: + type: min_max + min: '0.0004' + max: '0.081' + description: '' + properties: + company_uuid: + type: string + state: + "$ref": "#/components/schemas/State" + requirement_sets: + type: array + items: + "$ref": "#/components/schemas/Tax-Requirement-Set" + Tax-Requirement-States-List: + type: array + x-examples: + success_status: + - state: GA + setup_status: not_started + default_rates_applied: false + ready_to_run_payroll: false + - state: CA + setup_status: complete + default_rates_applied: false + ready_to_run_payroll: true + items: + type: object + properties: + state: + "$ref": "#/components/schemas/State" + setup_status: + type: string + enum: + - not_started + - in_progress + - complete + description: | + The current status of the state tax setup. + - `not_started`: No requirements have been filled + - `in_progress`: Some requirements have been filled, or default rates are applied + - `complete`: All requirements have been filled without default rates + default_rates_applied: + type: boolean + description: Whether the state is using system-assigned default SUI rates rather than employer-specific rates. + ready_to_run_payroll: + type: boolean + description: Whether the state tax setup is sufficiently complete for the company to run payroll. + Tax-Requirement-Set-Update: + type: array + description: Array of requirement sets to update. Each set corresponds to a category of requirements for the state. + items: + type: object + required: + - key + - state + properties: + key: + "$ref": "#/components/schemas/Tax-Requirement-Set-Key" + state: + "$ref": "#/components/schemas/State" + effective_from: + "$ref": "#/components/schemas/Tax-Requirement-Effective-From" + requirements: + type: array + items: + type: object + required: + - key + properties: + key: + "$ref": "#/components/schemas/Tax-Requirement-Key" + value: + "$ref": "#/components/schemas/Tax-Requirements-Value" + Tax-Requirements-Value: + description: The value or "answer" for a tax requirement. Type depends on the requirement metadata type (e.g. string for text/account_number, boolean for radio/checkbox, number for percent/currency/tax_rate). Null when the requirement has not been answered. + example: 1233214-AB + oneOf: + - type: boolean + - type: string + - type: number + - type: 'null' + Tax-Requirement-Set-Key: + title: Tax-Requirement-Set-Key + type: string + example: registrations + description: An identifier for a set of requirements. A list of requirement sets can contain multiple sets with the same `key` and different `effective_from` values. + Tax-Requirement-Key: + title: Tax-Requirement-Key + type: string + example: 71653ec0-00b5-4c66-a58b-22ecf21704c5 + description: An identifier for an individual requirement. Uniqueness is guaranteed within a requirement set. + Tax-Requirement-Effective-From: + title: Tax-Requirement-Effective-From + type: + - string + - 'null' + example: '2022-01-01' + description: An ISO 8601 formatted date representing the date values became effective. Some requirement sets are effective dated, while others are not. Multiple requirement sets for the same state/key can/will exist with unique effective dates. If a requirement set is has an `effective_from` value, all requirement sets with the same key will also have an `effective_from` value. + State: + title: State + type: string + example: GA + description: One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC) + Time-Off-Policy: + type: object + x-examples: + success_status: + uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 + company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 + name: test policy + policy_type: vacation + accrual_method: per_hour_worked + accrual_rate: '40.0' + accrual_rate_unit: '40.0' + paid_out_on_termination: true + accrual_waiting_period_days: 10 + carryover_limit_hours: '100.0' + max_accrual_hours_per_year: '100.0' + max_hours: '100.0' + complete: true + version: f5556bce3d75ec2b62bd11990aa7993a + is_active: true + policy_reset_date: 01-01 + employees: + - uuid: c61d1895-5cf8-4217-88c8-20d7c3132a04 + balance: '40.0' + - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a + balance: '20.0' + success_status_no_employees: + uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 + company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 + name: test policy + policy_type: vacation + accrual_method: per_hour_worked + accrual_rate: '40.0' + accrual_rate_unit: '40.0' + paid_out_on_termination: true + accrual_waiting_period_days: 10 + carryover_limit_hours: '100.0' + max_accrual_hours_per_year: '100.0' + max_hours: '100.0' + complete: true + version: f5556bce3d75ec2b62bd11990aa7993a + is_active: true + policy_reset_date: 01-01 + employees: [] + deactivated_status: + uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 + company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 + name: test policy + policy_type: vacation + accrual_method: per_hour_worked + accrual_rate: '40.0' + accrual_rate_unit: '40.0' + paid_out_on_termination: true + accrual_waiting_period_days: 10 + carryover_limit_hours: '100.0' + max_accrual_hours_per_year: '100.0' + max_hours: '100.0' + complete: true + version: + is_active: false + policy_reset_date: 01-01 + employees: [] + description: Representation of a Time Off Policy + properties: + uuid: + type: string + description: Unique identifier of a time off policy + company_uuid: + type: string + description: Unique identifier for the company owning the time off policy + name: + type: string + description: Name of the time off policy + policy_type: + type: string + description: Type of the time off policy. Only "vacation" and "sick" can be created through the API, but other types may be present if the company was previously a Gusto.com customer. + enum: + - vacation + - sick + - bereavement + - custom + - floating_holiday + - jury_duty + - learning_and_development + - parental_leave + - personal_day + - volunteer + - weather + accrual_method: + type: string + description: Policy time off accrual method + accrual_rate: + type: + - string + - 'null' + format: float + description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". + accrual_rate_unit: + type: + - string + - 'null' + format: float + description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". + paid_out_on_termination: + type: boolean + description: Boolean representing if an employee's accrued time off hours will be paid out on termination + accrual_waiting_period_days: + type: + - integer + - 'null' + description: Number of days before an employee on the policy will begin accruing time off hours + carryover_limit_hours: + type: + - string + - 'null' + format: float + description: The max number of hours an employee can carryover from one year to the next + max_accrual_hours_per_year: + type: + - string + - 'null' + format: float + description: The max number of hours an employee can accrue in a year + max_hours: + type: + - string + - 'null' + format: float + description: The max number of hours an employee can accrue + policy_reset_date: + type: + - string + - 'null' + description: The date the policy resets. Format MM-DD + complete: + type: boolean + description: boolean representing if a policy has completed configuration + version: + type: + - string + - 'null' + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. The version will be null if the policy is no longer active. + is_active: + type: boolean + description: boolean representing if a policy is active or not + employees: + type: array + description: List of employee UUIDs under a time off policy + items: type: object properties: - uuid: - type: string - description: The UUID of the document - readOnly: true - title: - type: string - description: The title of the document - readOnly: true + uuid: + type: string + balance: + type: string + description: The time off balance for the employee + required: + - uuid + - company_uuid + - name + - policy_type + - accrual_method + - is_active + - employees + Time-Off-Policy-Request-Base: + type: object + description: Base Request Objectfor creating or updating a time off policy + properties: + name: + type: string + description: Name of the time off policy + example: Vacation Policy + policy_type: + type: string + description: Type of the time off policy. Currently only "vacation" and "sick" are supported + enum: + - vacation + - sick + accrual_method: + type: string + description: Accrual method of the time off policy + enum: + - unlimited + - per_pay_period + - per_calendar_year + - per_anniversary_year + - per_hour_worked + - per_hour_worked_no_overtime + - per_hour_paid + - per_hour_paid_no_overtime + accrual_rate: + type: + - string + - 'null' + description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". + accrual_rate_unit: + type: + - string + - 'null' + description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". + paid_out_on_termination: + type: boolean + description: Boolean representing if an employee's accrued time off hours will be paid out on termination. If accrual_method is unlimited, then paid_out_on_termination must be `false`. + accrual_waiting_period_days: + type: + - integer + - 'null' + description: Number of days before an employee on the policy will begin accruing time off hours. If accrual_method is per_anniversary_year, per_calendar_year, or unlimited, then accrual_waiting_period_days should be 0. + carryover_limit_hours: + type: + - string + - 'null' + description: The max number of hours an employee can carryover from one year to the next. If accrual_method is unlimited, then carryover_limit_hours must be blank. + max_accrual_hours_per_year: + type: + - string + - 'null' + description: The max number of hours an employee can accrue in a year. If accrual_method is yearly (per_anniversary_year, per_calendar_year) or unlimited, then max_accrual_hours_per_year must be blank. + max_hours: + type: + - string + - 'null' + description: The max number of hours an employee can accrue. If accrual_method is unlimited, then max_hours must be blank. + policy_reset_date: + type: + - string + - 'null' + description: The date the policy resets. Format MM-DD + complete: + type: boolean + description: boolean representing if a policy has completed configuration + Time-Off-Policy-Request: + type: object + description: Request body for creating a time off policy + allOf: + - "$ref": "#/components/schemas/Time-Off-Policy-Request-Base" + - type: object + required: + - name + - policy_type + - accrual_method + Time-Off-Policy-Update-Request: + type: object + description: Request body for updating a time off policy + allOf: + - "$ref": "#/components/schemas/Time-Off-Policy-Request-Base" + Time-Off-Activity: + type: object + x-examples: + example: + policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 + time_off_type: vacation + policy_name: Paid Time Off + event_type: TimeOffEvent::AddToPolicy + event_description: 'Added to policy: Vacation Per Hour Worked' + effective_time: '2022-09-27T13:43:03.000-07:00' + balance: '0.0' + balance_change: '0.0' + description: Representation of a Time Off Activity + properties: + policy_uuid: + type: + - string + - 'null' + description: unique identifier of a time off policy + time_off_type: + type: string + description: Type of the time off activity + enum: + - vacation + - sick + policy_name: + type: + - string + - 'null' + description: The name of the time off policy for this activity + event_type: + type: string + description: The type of the time off event/activity + event_description: + type: + - string + - 'null' + description: A description for the time off event/activity + effective_time: + type: + - string + - 'null' + description: The datetime of the time off activity + balance: + type: + - string + - 'null' + format: float + description: The time off balance at the time of the activity + balance_change: + type: + - string + - 'null' + format: float + description: The amount the time off balance changed as a result of the activity + Time-Off-Activity-List: + type: array + description: A list of time off activities for an employee + items: + "$ref": "#/components/schemas/Time-Off-Activity" + x-examples: + example: + - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 + time_off_type: vacation + policy_name: Paid Time Off + event_type: TimeOffEvent::AddToPolicy + event_description: 'Added to policy: Vacation Per Hour Worked' + effective_time: '2022-09-27T13:43:03.000-07:00' + balance: '0.0' + balance_change: '0.0' + - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 + time_off_type: vacation + policy_name: Paid Time Off + event_type: TimeOffEvent::Accrual + event_description: Accrual + effective_time: '2022-09-27T14:43:03.000-07:00' + balance: '2.0' + balance_change: '2.0' + Holiday-Pay-Policy: + type: object + x-examples: + success_status: + version: 1b37938b017c7fd7116bada007072290 + company_uuid: b7845189-f12b-4378-918a-d2b9de3dc4ea + federal_holidays: + new_years_day: + selected: true + name: New Year's Day + date: January 1 + mlk_day: + selected: true + name: Martin Luther King, Jr. Day + date: Third Monday in January + presidents_day: + selected: false + name: Presidents' Day + date: Third Monday in February + memorial_day: + selected: true + name: Memorial Day + date: Last Monday in May + juneteenth: + selected: false + name: Juneteenth + date: June 19 + independence_day: + selected: true + name: Independence Day + date: July 4 + labor_day: + selected: false + name: Labor Day + date: First Monday in September + columbus_day: + selected: false + name: Columbus Day (Indigenous Peoples' Day) + date: Second Monday in October + veterans_day: + selected: true + name: Veterans Day + date: November 11 + thanksgiving: + selected: true + name: Thanksgiving + date: Fourth Thursday in November + christmas_day: + selected: true + name: Christmas Day + date: December 25 + employees: + - uuid: 1ca3cd25-3eda-48c6-ac88-f0e7fb91a15a + description: Representation of a Holiday Pay Policy + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + company_uuid: + type: string + description: A unique identifier for the company owning the holiday pay policy + federal_holidays: + type: object + description: List of the eleven supported federal holidays and their details + properties: + new_years_day: + type: object + properties: + selected: + type: boolean name: - type: string - description: The type identifier of the document - readOnly: true - recipient_type: - type: string - description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) - enum: - - Company - - Employee - - Contractor - readOnly: true - recipient_uuid: - type: string - description: Unique identifier for the recipient associated with the document - readOnly: true - pages: - type: array - description: List of the document's pages and associated image URLs. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. - items: - type: object - properties: - image_url: - type: string - description: Image URL for the page - page_number: - type: integer - description: Page number - readOnly: true - fields: - type: array - description: List of the document's fields and associated data. Values are set for auto-filled fields. This is only returned for documents with `required_signing` = `true`, and can be used for signing preparation. - items: - type: object - properties: - key: - type: string - description: Unique identifier of the field - value: - type: string - description: Auto-filled value of the field - nullable: true - x: - type: integer - description: X-coordinate location of the field on the page - "y": - type: integer - description: Y-coordinate location of the field on the page - width: - type: integer - description: Width of the field - height: - type: integer - description: Height of the field - page_number: - type: integer - description: Page number of the field - data_type: - type: string - description: The field's data type - required: - type: boolean - description: Whether the field is required - readOnly: true - signed_at: - type: string - description: When the document was signed (will be `null` if unsigned) - nullable: true - readOnly: true - description: - type: string - description: The description of the document - readOnly: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. - draft: - type: boolean - description: If the document is in a draft state - readOnly: true - year: - type: integer - description: The year of this document. This value is nullable and will not be present on all documents. - readOnly: true - nullable: true - quarter: - type: integer - description: The quarter of this document. This value is nullable and will not be present on all documents. - nullable: true - readOnly: true - x-examples: - Example: - uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b - title: Taxpayer Identification (Form W-9) - name: taxpayer_identification_form_w_9 - recipient_type: Contractor - recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 - pages: - - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/0.jpg - page_number: 0 - - image_url: http://app.gusto-dev.com:3000/assets/document_templates/20/unmapped_template/images/1.jpg - page_number: 1 - fields: - - key: text1596141656513 - value: - x: 69 - "y": 94 - width: 261 - height: 13 - page_number: 0 - data_type: text - required: true - - key: optional_text1596141704672 - value: - x: 69 - "y": 118 - width: 262 - height: 13 - page_number: 0 - data_type: text - required: false - signed_at: - description: Form W-9, Request for Taxpayer Identification Number and Certification - requires_signing: true - draft: false - year: - quarter: - x-tags: - - Documents - Document-Signed: - title: Document Signed - type: object - properties: - uuid: - type: string - description: The UUID of the document - readOnly: true - title: - type: string - description: The title of the document - readOnly: true + type: string + date: + type: string + mlk_day: + type: object + properties: + selected: + type: boolean name: - type: string - description: The type identifier of the document - readOnly: true - recipient_type: - type: string - description: The type of recipient associated with the document (will be `Contractor` for Contractor Documents) - enum: - - Company - - Employee - - Contractor - readOnly: true - recipient_uuid: - type: string - description: Unique identifier for the recipient associated with the document - readOnly: true - signed_at: - type: string - description: When the document was signed (will be `null` if unsigned) - nullable: true - readOnly: true - description: - type: string - description: The description of the document - readOnly: true - requires_signing: - type: boolean - description: A boolean flag that indicates whether the document needs signing or not. Note that this value will change after the document is signed. - draft: - type: boolean - description: If the document is in a draft state - readOnly: true - year: - type: integer - description: The year of this document. This value is nullable and will not be present on all documents. - readOnly: true - nullable: true - quarter: - type: integer - description: The quarter of this document. This value is nullable and will not be present on all documents. - nullable: true - readOnly: true - x-examples: - Example: - uuid: e83b3c20-dc4f-4382-bee3-b478fc42c68b - title: Taxpayer Identification (Form W-9) - name: taxpayer_identification_form_w_9 - recipient_type: Contractor - recipient_uuid: f079c253-29e2-45e2-b384-2cc615c9c568 - signed_at: '2024-09-03T16:39:22.000-07:00' - description: Form W-9, Request for Taxpayer Identification Number and Certification - requires_signing: false - draft: false - year: - quarter: - x-tags: - - Documents - Document-Pdf: - title: Document Pdf + type: string + date: + type: string + presidents_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + memorial_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + juneteenth: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + independence_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + labor_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + columbus_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + veterans_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + thanksgiving: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + christmas_day: + type: object + properties: + selected: + type: boolean + name: + type: string + date: + type: string + employees: + type: array + description: List of employee uuids under a holiday pay policy + items: type: object properties: - uuid: - type: string - description: the UUID of the document - readOnly: true - document_url: - type: string - description: the URL of the document - Industry: - title: Industry + uuid: + type: string + required: + - version + - company_uuid + - federal_holidays + - employees + Holiday-Pay-Policy-Request: + type: object + description: Request body for creating or updating a holiday pay policy + properties: + federal_holidays: + type: object + description: An object containing federal holiday objects, each containing a boolean selected property. + properties: + new_years_day: + type: object + properties: + selected: + type: boolean + mlk_day: + type: object + properties: + selected: + type: boolean + presidents_day: + type: object + properties: + selected: + type: boolean + memorial_day: + type: object + properties: + selected: + type: boolean + juneteenth: + type: object + properties: + selected: + type: boolean + independence_day: + type: object + properties: + selected: + type: boolean + labor_day: + type: object + properties: + selected: + type: boolean + columbus_day: + type: object + properties: + selected: + type: boolean + veterans_day: + type: object + properties: + selected: + type: boolean + thanksgiving: + type: object + properties: + selected: + type: boolean + christmas_day: + type: object + properties: + selected: + type: boolean + Paid-Holiday: + type: object + description: A paid holiday derived from the company's holiday pay policy + x-examples: + success_status: + holiday_name: New Year's Day + holiday_key: new_years_day + start_date: '2023-01-02' + end_date: '2023-01-02' + properties: + holiday_key: + type: + - string + - 'null' + description: The holiday's identifier (null for custom holidays) + holiday_name: + type: string + description: The holiday's official name + start_date: + type: string + description: The holiday's start date (YYYY-MM-DD) + end_date: + type: string + description: The holiday's end date (YYYY-MM-DD) + Paid-Holidays: + type: array + description: Representation of a company's paid holidays as described by their holiday pay policy + items: + "$ref": "#/components/schemas/Paid-Holiday" + Event: + type: object + x-examples: + example: + uuid: f7397a24-57ad-4fae-b011-d258e8232900 + event_type: employee.bank_account.created + resource_type: Company + resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + entity_type: BankAccount + entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + timestamp: 1686784995 + description: Representation of an Event + properties: + uuid: + type: string + description: Unique identifier for the event. + event_type: + type: string + description: Description of the event (e.g., payroll.submitted, or company.form.signed). + resource_type: + type: string + enum: + - Company + description: Name of the parent resource of the described entity. + resource_uuid: + type: string + description: Unique identifier for the parent resource. + entity_type: + type: string + description: Name of the entity that the event corresponds to. + entity_uuid: + type: string + description: Unique identifier for the entity. + timestamp: + type: integer + description: Time at which this event was created. Measured in seconds since the Unix epoch. + required: + - uuid + Event-List: + type: array + description: A list of events + x-examples: + success_status: + - uuid: f7397a24-57ad-4fae-b011-d258e8232900 + event_type: employee.created + resource_type: Company + resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + entity_type: Employee + entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + timestamp: 1686784995 + - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + event_type: company.provisioned + resource_type: Company + resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + entity_type: Company + entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 + timestamp: 1686784994 + items: + "$ref": "#/components/schemas/Event" + Invoice-Data: + type: object + x-examples: + example: + active_companies: + - company_uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 + active_employees: 5 + active_contractors: 3 + initial_invoice_period: 2022-01 + - company_uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 + active_employees: 0 + active_contractors: 1 + initial_invoice_period: 2023-05 + description: Representation of a partners invoice data + properties: + active_companies: + type: array + description: The list of companies that are active within the invoice period + items: type: object properties: - company_uuid: - type: string - description: Company uuid - readOnly: true - naics_code: - type: string - nullable: true - description: North American Industry Classification System (NAICS) is used to classify businesses with a six digit number based on the primary type of work the business performs. - readOnly: true - sic_codes: - type: array - description: A list of Standard Industrial Classification (SIC) codes, which are four digit number that categorize the industries that companies belong to based on their business activities. - readOnly: true - items: - type: string - title: - type: string - nullable: true - description: Industry title - readOnly: true - x-examples: - Example: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - naics_code: '611420' - sic_codes: - - '8243' - title: Computer Training - x-tags: - - Industry - Job: - title: Job + company_uuid: + type: string + description: unique identifier for the company associated with the invoice data + active_employees: + type: integer + description: The number of active employees the company was or will be invoiced for that invoice period. Active employees are calculated as the count of onboarded employees hired before the end of the invoice period and not terminated before the start of the invoice period. + active_contractors: + type: integer + description: The number of active contractors the company was or will be invoiced for that invoice period. Active contractors are calculated as any contractor with an active contractor payment during the invoice period. + initial_invoice_period: + type: string + description: The first invoice period for the company. This will either be the invoice period of the first invoice-able event (first payroll or contractor payment) or the date they migrated to embedded, whichever is later. + Information-Request: + type: object + x-examples: + example: + uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 + company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c + type: account_protection + status: pending_response + blocking_payroll: false + required_questions: [] + information_request_index_item: + uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 + company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c + type: company_onboarding + status: pending_response + blocking_payroll: true + required_questions: + - question_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + question_text: How much wood can a wood chuck chuck? + response_type: text + - question_uuid: b2c3d4e5-f6a7-8901-bcde-f12345678901 + question_text: Please upload supporting documentation + response_type: document + description: Representation of an information request + properties: + uuid: + type: string + description: Unique identifier of an information request + company_uuid: + type: string + description: Unique identifier of the company to which the information requests belongs + type: + description: The type of information request + anyOf: + - type: string + enum: + - company_onboarding + - account_protection + - payment_request + - payment_error + - type: 'null' + status: + type: string + description: The status of the information request + enum: + - pending_response + - pending_review + - approved + blocking_payroll: + type: boolean + description: If true, this information request is blocking payroll, and may require response or requires review from our Risk Ops team. + required_questions: + type: array + description: The list of required questions for the information request + items: type: object properties: - uuid: - type: string - description: The UUID of the job. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - employee_uuid: - type: string - description: The UUID of the employee to which the job belongs. - readOnly: true - hire_date: - type: string - readOnly: false - description: The date when the employee was hired or rehired for the job. - title: - type: string - readOnly: false - default: - nullable: true - description: The title for the job. - primary: - type: boolean - description: Whether this is the employee's primary job. The value will be set to true unless an existing job exists for the employee. - readOnly: true - rate: - type: string - description: The current compensation rate of the job. - readOnly: true - payment_unit: - type: string - description: The payment unit of the current compensation for the job. - nullable: true - readOnly: true - current_compensation_uuid: - type: string - description: The UUID of the current compensation of the job. - readOnly: true - two_percent_shareholder: - type: boolean - description: Whether the employee owns at least 2% of the company. - readOnly: false - state_wc_covered: - type: boolean - description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). - readOnly: false - nullable: true - state_wc_class_code: - type: string - description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. - readOnly: false - nullable: true - compensations: - type: array - items: - "$ref": "#/components/schemas/Compensation" - readOnly: true - description: The representation of a job in Gusto. + question_uuid: + type: string + description: The UUID of the question + question_text: + type: string + description: The text of the question + response_type: + type: string + description: The type of response to the question + enum: + - text + - document + - persona + - radio_button required: - - uuid - External-Payroll: - description: The representation of an external payroll. + - question_uuid + - question_text + - response_type + Recurring-Reimbursement-List: + type: array + x-examples: + success_status: + - uuid: 04ca1051-dcec-4cb7-829c-dfbffdf4af23 + employee_uuid: 73c96cc6-f8c9-4513-b3f1-4301351178d6 + version: 3b8eda8460f7acabd86ceec924e0ae74 + description: Travel expenses + created_at: '2025-11-03T09:03:20.000-08:00' + updated_at: '2025-11-03T09:03:20.000-08:00' + amount: '100.00' + - uuid: e3fc7aae-5053-44bf-99e1-3636df0d1f5b + employee_uuid: 73c96cc6-f8c9-4513-b3f1-4301351178d6 + version: 30c1aeb356a70e0a71275414e5f29b7e + description: Meal allowance + created_at: '2025-11-03T09:03:20.000-08:00' + updated_at: '2025-11-03T09:03:20.000-08:00' + amount: '50.00' + items: + "$ref": "#/components/schemas/Recurring-Reimbursement" + Recurring-Reimbursement: + type: object + x-examples: + success_status: + uuid: b739f253-b028-443b-b6cf-97a555c3d493 + employee_uuid: 346e1409-1c97-4524-9ebb-0c0c169e35cb + version: cf9b64404e63d325c762aaad20ca7a39 + description: Office supplies + created_at: '2025-11-03T09:03:24.000-08:00' + updated_at: '2025-11-03T09:03:24.000-08:00' + amount: '75.50' + properties: + uuid: + type: string + description: The unique identifier of this recurring reimbursement. + readOnly: true + employee_uuid: + type: string + description: The UUID of the employee. + readOnly: true + description: + type: string + description: The description of the reimbursement. + amount: + type: string + description: The dollar amount of the reimbursement. + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + created_at: + type: string + description: The timestamp when this reimbursement was created. + readOnly: true + updated_at: + type: string + description: The timestamp when this reimbursement was last updated. + readOnly: true + required: + - uuid + - employee_uuid + - description + - amount + - version + Recovery-Case: + type: object + x-examples: + example: + uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 + company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f + status: open + latest_error_code: R01 + original_debit_date: '2023-10-11' + check_date: '2023-10-13' + payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d + contractor_payment_uuids: + amount_outstanding: 10499.43 + event_total_amount: 5912.07 + recovery_case_index_item: + uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 + company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f + status: open + latest_error_code: R01 + original_debit_date: '2023-10-11' + check_date: '2023-10-13' + payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d + contractor_payment_uuids: + amount_outstanding: '10499.43' + event_total_amount: '5912.07' + description: Representation of a recovery case + properties: + uuid: + type: string + description: Unique identifier of an recovery case + company_uuid: + type: string + description: Unique identifier of the company to which the recovery case belongs + status: + type: string + description: Status of the recovery case + enum: + - open + - redebit_initiated + - wire_initiated + - recovered + - lost + latest_error_code: + type: + - string + - 'null' + description: The latest bank error code for the recovery case. See [this doc](https://docs.gusto.com/embedded-payroll/docs/ach-codes-and-transaction-types) for a list of common ACH return codes. + original_debit_date: + type: + - string + - 'null' + description: Date when funds were originally debited from the company's bank account + check_date: + type: string + description: Check date for the associated payroll or contractor payments + payroll_uuid: + type: + - string + - 'null' + description: The uuid of the associated payroll for which the recovery case was created. If the recovery case was created for a contractor payment, this field will be null. + contractor_payment_uuids: + type: + - array + - 'null' + description: The uuids of the associated contractor payments for which the recovery case was created. If the recovery case was created for a payroll, this field will be null. + items: + type: string + amount_outstanding: + type: string + description: Amount outstanding for the recovery case + event_total_amount: + type: string + description: Total amount to be debited from the payroll or contractor payments + required: + - uuid + Ach-Transaction: + type: object + x-examples: + example: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 456e7890-e12b-34c5-d678-901234567890 + payment_event_type: Payroll + payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 + recipient_type: Employee + recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 + error_code: + transaction_type: Credit employee pay + payment_status: submitted + payment_direction: credit + payment_event_check_date: '2023-10-02' + payment_date: '2023-10-17' + amount: '123.00' + description: PAY 380654 + description: Representation of an ACH transaction + properties: + uuid: + type: string + description: Unique identifier of an ACH transaction + company_uuid: + type: string + description: Unique identifier of the company to which the ACH transaction belongs + payment_event_type: + type: string + description: The type of payment event associated with the ACH transaction + enum: + - Payroll + - ContractorPayment + payment_event_uuid: + type: string + description: Unique identifier for the payment event associated with the ACH transaction + recipient_type: + description: The type of recipient associated with the ACH transaction + anyOf: + - type: string + enum: + - Employee + - Contractor + - type: 'null' + recipient_uuid: + type: string + description: Unique identifier for the recipient associated with the ACH transaction + error_code: + type: + - string + - 'null' + description: The error code associated with the ACH transaction, if any. If there is no error on the ACH transaction, this field will be nil. See [this article](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/) for a complete list of ACH return codes. + transaction_type: + type: string + description: The type of transaction associated with the ACH transaction + payment_status: + type: string + description: The status of the ACH transaction + enum: + - unsubmitted + - submitted + - successful + - failed + payment_direction: + type: string + description: The direction of the payment + enum: + - credit + - debit + payment_event_check_date: + type: string + description: The date of the payment event check associated with the ACH transaction + payment_date: + type: string + description: The date of the payment associated with the ACH transaction + amount: + type: string + description: The amount of money moved by the ACH transaction. This amount is always non-negative. + description: + type: string + description: The description of the ACH transaction. Can be used to identify the ACH transaction on the recipient's bank statement. + required: + - uuid + Ach-Transaction-List: + type: array + items: + "$ref": "#/components/schemas/Ach-Transaction" + x-examples: + example: + - uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 456e7890-e12b-34c5-d678-901234567890 + payment_event_type: Payroll + payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 + recipient_type: Employee + recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 + error_code: + transaction_type: Credit employee pay + payment_status: submitted + payment_direction: credit + payment_event_check_date: '2023-10-02' + payment_date: '2023-10-17' + amount: '123.00' + description: PAY 380654 + Wire-In-Request: + type: object + x-examples: + example: + uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 + status: awaiting_funds + origination_bank: JP Morgan Chase + origination_bank_address: 1 Chase Plaza, New York, NY 10081 + recipient_name: Gusto, Inc + recipient_address: 525 20th Street, San Francisco, CA 94107 + recipient_account_number: '21911761' + recipient_routing_number: '123454321' + additional_notes: Additional Notes + bank_name: JP Morgan Chase + date_sent: '2024-06-10' + unique_tracking_code: 1trvxwxp57zf + payment_type: Payroll + payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc + amount_sent: '1014500.00' + requested_amount: '1014500.00' + wire_in_deadline: '2024-06-21T18:00:00Z' + description: Representation of a wire in request + properties: + uuid: + type: string + description: Unique identifier of a wire in request + status: + type: string + description: Status of the wire in + enum: + - awaiting_funds + - pending_review + - approved + - canceled + origination_bank: + type: string + description: Name of bank receiving the wire in + origination_bank_address: + type: string + description: Address of bank receiving the wire in + recipient_name: + type: string + description: Name of the recipient of the wire In + recipient_address: + type: string + description: Address of the recipient of the wire in + recipient_account_number: + type: string + description: Recipient bank account number + recipient_routing_number: + type: string + description: Recipient bank routing number + additional_notes: + type: + - string + - 'null' + description: Notes for the wire in request + bank_name: + type: + - string + - 'null' + description: Name of the bank initiating the wire in + date_sent: + type: + - string + - 'null' + description: Date the wire in was sent + unique_tracking_code: + type: string + description: Include in note with bank to track payment + payment_type: + type: string + description: Type of payment for the wire in + enum: + - Payroll + - ContractorPaymentGroup + payment_uuid: + type: string + description: Unique identifier of the payment + amount_sent: + type: + - string + - 'null' + description: Amount sent through wire in + requested_amount: + type: string + description: Requested amount for the payment + wire_in_deadline: + type: string + description: Deadline to submit the wire in + Wire-In-Request-List: + type: array + items: + "$ref": "#/components/schemas/Wire-In-Request" + x-examples: + example: + - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 + status: awaiting_funds + origination_bank: JP Morgan Chase + origination_bank_address: 1 Chase Plaza, New York, NY 10081 + recipient_name: Gusto, Inc + recipient_address: 525 20th Street, San Francisco, CA 94107 + recipient_account_number: '21911761' + recipient_routing_number: '123454321' + additional_notes: + bank_name: + date_sent: + unique_tracking_code: 1trvxwxp57zf + payment_type: Payroll + payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc + amount_sent: + requested_amount: '1014500.00' + wire_in_deadline: '2024-06-21T18:00:00Z' + - uuid: a47fc11d-8d92-4b3e-9f2a-3a23b9d8e7d1 + status: awaiting_funds + origination_bank: JP Morgan Chase + origination_bank_address: 1 Chase Plaza, New York, NY 10081 + recipient_name: Gusto, Inc + recipient_address: 525 20th Street, San Francisco, CA 94107 + recipient_account_number: '21911761' + recipient_routing_number: '123454321' + additional_notes: + bank_name: + date_sent: + unique_tracking_code: 6kfhwxq2crsm + payment_type: ContractorPaymentGroup + payment_uuid: 8b6c3d70-9b8e-4d4d-b6a1-a1f3a6d9b2c4 + amount_sent: + requested_amount: '15000.00' + wire_in_deadline: '2024-06-21T18:00:00Z' + Wire-In-Request-Update-Request-Body: + type: object + properties: + date_sent: + type: string + description: The date the wire was sent + example: '2024-06-10' + bank_name: + type: string + description: Name of the bank sending the wire + example: Chase + amount_sent: + type: string + description: Amount of money sent + example: '314500.00' + additional_notes: + type: string + description: Additional notes + example: Wire for 2024-06-15 payroll. + required: + - date_sent + - bank_name + - amount_sent + Payroll-Sync: + type: object + description: Record representing the sync of time sheet data to payroll. + properties: + uuid: + type: string + format: uuid + description: Unique identifier of the payroll sync. + example: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: + type: string + format: uuid + description: Unique identifier of the company to which the payroll sync belongs. + example: 123e4567-e89b-12d3-a456-426655440001 + status: + type: string + readOnly: true + enum: + - pending + - in_progress + - success + - failure + - partial_success + description: | + The current status of the payroll sync. READ-ONLY. + + ## State Transitions + ``` + pending ──────► in_progress ──────► success + ├─────► failure + └─────► partial_success + ``` + + ### Valid Transitions + - `pending` → `in_progress`: Automatic when processing begins + - `in_progress` → `success`: All time sheet data synced successfully + - `in_progress` → `failure`: Sync failed entirely + - `in_progress` → `partial_success`: Some members failed to sync + example: pending + kind: + type: string + enum: + - regular + description: | + The kind of payroll sync. + - `regular`: A regular payroll sync + example: regular + pay_schedule_uuid: + type: string + format: uuid + description: Unique identifier of the pay schedule associated with this sync. + example: 123e4567-e89b-12d3-a456-426655440002 + pay_period_start_date: + type: string + format: date + description: The start date of the pay period per ISO 8601 format. + example: '2025-01-01' + pay_period_end_date: + type: string + format: date + description: The end date of the pay period per ISO 8601 format. + example: '2025-01-15' + submitted_at: + type: string + format: date-time + description: Datetime for when the payroll sync was submitted. + example: '2025-01-16T12:00:00Z' + completed_at: + type: + - string + - 'null' + format: date-time + description: Datetime for when the payroll sync completed. Null if the sync is still in progress. + example: '2025-01-16T13:00:00Z' + errors: + type: array + description: Errors encountered during the sync, if any. Each error follows the standard entity error format. + items: + "$ref": "#/components/schemas/Entity-Error-Object" + warnings: + type: array + description: Warnings encountered during the sync, if any. + items: + type: string + x-examples: + pending_sync: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 123e4567-e89b-12d3-a456-426655440001 + status: pending + kind: regular + pay_schedule_uuid: 123e4567-e89b-12d3-a456-426655440002 + pay_period_start_date: '2025-01-01' + pay_period_end_date: '2025-01-15' + submitted_at: '2025-01-16T12:00:00Z' + completed_at: + completed_sync: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 123e4567-e89b-12d3-a456-426655440001 + status: success + kind: regular + pay_schedule_uuid: 123e4567-e89b-12d3-a456-426655440002 + pay_period_start_date: '2025-01-01' + pay_period_end_date: '2025-01-15' + submitted_at: '2025-01-16T12:00:00Z' + completed_at: '2025-01-16T13:00:00Z' + Payroll-Sync-Create-Request-Body: + type: object + required: + - kind + - pay_schedule_uuid + - pay_period_start_date + - pay_period_end_date + properties: + kind: + type: string + enum: + - regular + description: | + The kind of payroll sync. + - `regular`: A regular payroll sync + example: regular + pay_schedule_uuid: + type: string + format: uuid + description: Unique identifier of the pay schedule to sync time sheets for. + example: 123e4567-e89b-12d3-a456-426614174000 + pay_period_start_date: + type: string + format: date + description: The start date of the pay period per ISO 8601 format. + example: '2025-01-01' + pay_period_end_date: + type: string + format: date + description: The end date of the pay period per ISO 8601 format. + example: '2025-01-15' + Time-Sheet: + type: object + x-examples: + example: + uuid: 123e4567-e89b-12d3-a456-426655440000 + company_uuid: 123e4567-e89b-12d3-a456-426655440000 + status: approved + time_zone: America/Los_Angeles + entity_type: Employee + version: 72deb67e16f7b92713c00d3582fa6c68 + job_uuid: 123e4567-e89b-12d3-a456-426655440000 + entity_uuid: 123e4567-e89b-12d3-a456-426655440000 + shift_started_at: '2025-03-04T13:07:10Z' + shift_ended_at: '2025-03-04T16:07:10Z' + created_at: '2025-04-29T16:08:53Z' + updated_at: '2025-04-29T16:08:53Z' + metadata: {} + entries: + - uuid: 123e4567-e89b-12d3-a456-426655440000 + hours_worked: '1.000' + pay_classification: Regular + - uuid: 123e4567-e89b-12d3-a456-426655440000 + hours_worked: '1.000' + pay_classification: Overtime + - uuid: 123e4567-e89b-12d3-a456-426655440000 + hours_worked: '1.000' + pay_classification: Double overtime + description: Record representing an employee/contractor's time sheet + properties: + uuid: + type: string + description: Unique identifier of the time sheet. + status: + type: string + description: Status of the time sheet. + enum: + - pending + - rejected + - approved + company_uuid: + type: string + description: Unique identifier of the company to which the time sheet belongs. + time_zone: + type: string + description: Time zone of where the time was tracked. + entity_type: + type: string + description: Type of entity associated with the time sheet. + enum: + - Employee + - Contractor + entity_uuid: + type: string + description: Unique identifier of the entity associated with the time sheet. + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/app-integrations/docs/idempotency) for information on how to use this field. + job_uuid: + type: string + description: Unique identifier of the job for which time was reported. + shift_started_at: + type: string + format: date-time + description: The start time of the shift. + shift_ended_at: + type: string + format: date-time + description: The end time of the shift. If the shift is still ongoing this field will be null. + created_at: + type: string + format: date-time + description: Datetime for when time sheet was created. + updated_at: + type: string + format: date-time + description: Datetime for when time sheet was updated. + synced_to_payroll_at: + type: + - string + - 'null' + format: date-time + description: Datetime for when time sheet was synced to payroll. Null if the time sheet has not yet been synced to payroll. + metadata: + type: object + additionalProperties: + type: string + maxLength: 500 + propertyNames: + type: string + maxLength: 40 + maxProperties: 50 + description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. + entries: + type: array + description: Entries associated with the time sheet. + items: type: object - x-tags: - - External Payrolls - title: '' properties: - uuid: - type: string - description: The UUID of the external payroll. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: - type: string - description: External payroll's check date. - readOnly: true - payment_period_start_date: - type: string - description: External payroll's pay period start date. - readOnly: true - payment_period_end_date: - type: string - description: External payroll's pay period end date. - readOnly: true - status: - type: string - enum: - - unprocessed - - processed - description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. - readOnly: true - external_payroll_items: - type: array - description: External payroll items for employees - readOnly: true - items: - type: object - properties: - employee_uuid: - type: string - earnings: - type: array - items: - type: object - properties: - amount: - type: string - format: float - hours: - type: string - format: float - earning_type: - type: string - earning_id: - type: integer - benefits: - type: array - items: - type: object - properties: - benefit_id: - type: integer - company_contribution_amount: - type: string - format: float - employee_deduction_amount: - type: string - format: float - taxes: - type: array - items: - type: object - properties: - tax_id: - type: integer - amount: - type: string - format: float - applicable_earnings: - type: array - description: Applicable earnings based on company provisioning. - readOnly: true - items: - type: object - properties: - earning_type: - type: string - earning_id: - type: number - name: - type: string - input_type: - type: string - category: - type: string - applicable_benefits: - type: array - description: Applicable benefits based on company provisioning. - readOnly: true - items: - type: object - properties: - id: - type: integer - description: - type: string - active: - type: boolean - applicable_taxes: - type: array - description: Applicable taxes based on company provisioning. - readOnly: true - items: - type: object - properties: - id: - type: integer - name: - type: string - employer_tax: - type: boolean - description: Some taxes may have an amount withheld from the employee and an amount withheld from the employer, e.g. Social Security. A `true` value indicates this is the employer's amount. - resident_tax: - type: boolean - description: Some taxes may have different rates or reporting requirements depending on if the employee is a resident or non-resident of the tax jurisdiction. - metadata: - type: object - description: Stores metadata of the external payroll. - readOnly: true - properties: - deletable: - type: boolean - description: Determines if the external payroll can be deleted. - readOnly: true - x-examples: - Example: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: 2022-06-03 - payment_period_start_date: 2022-05-15 - payment_period_end_date: 2022-05-30 - status: unprocessed - external_payroll_items: - - employee_uuid: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca - earnings: - - amount: 10000.0 - hours: 0.0 - earning_type: CompanyPayType - earning_id: 1 - - amount: 500.0 - hours: 0.0 - earning_type: CompanyEarningType - earning_id: 4 - benefits: - - benefit_id: 22 - company_contribution_amount: 100.0 - employee_deduction_amount: 50.0 - - benefit_id: 25 - company_contribution_amount: 0.0 - employee_deduction_amount: 300.0 - taxes: - - tax_id: 1 - amount: 400.0 - - tax_id: 2 - amount: 60.0 - applicable_earnings: - - earning_type: CompanyPayType - earning_id: 1 - name: Regular Wages - input_type: amount - category: default - - earning_type: CompanyEarningType - earning_id: 4 - name: Cash Tips - input_type: amount - category: default - applicable_benefits: - - id: 22 - description: Kaiser - active: true - - id: 25 - description: HSA - active: true - applicable_taxes: - - id: 1 - name: Federal Income Tax - employer_tax: false - resident_tax: false - - id: 2 - name: Social Security - employer_tax: false - resident_tax: false - metadata: - deletable: true - required: - - uuid - Webhook-Subscription: - description: The representation of webhook subscription. + uuid: + type: string + description: Unique identifier of the entry. + hours_worked: + type: string + format: float + description: Hours worked for this pay classification. Represented as a string, e.g. "1.500". + pay_classification: + type: string + description: Pay classification for the entry. + enum: + - Regular + - Overtime + - Double overtime + Time-Sheet-Create-Body: + type: object + description: Request body for creating a time sheet. + required: + - entity_uuid + - entity_type + - time_zone + - shift_started_at + properties: + entity_uuid: + type: string + description: Unique identifier of the entity associated with the time sheet. + entity_type: + type: string + description: Type of entity associated with the time sheet. + job_uuid: + type: string + description: Unique identifier of the job for which time is tracked. + time_zone: + type: string + description: Time zone of where the time is tracked. + shift_started_at: + type: string + format: date-time + description: ISO 8601 timestamp of when the shift was started. + shift_ended_at: + type: string + format: date-time + description: ISO 8601 timestamp of when the shift was ended. If the shift is still ongoing you can omit this field. + metadata: + type: object + additionalProperties: + type: string + maxLength: 500 + propertyNames: + type: string + maxLength: 40 + maxProperties: 50 + description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. + entries: + type: array + description: Entries associated with the time sheet. + items: type: object - x-tags: - - Webhooks - title: '' properties: - uuid: - type: string - description: The UUID of the webhook subscription. - readOnly: true - url: + hours_worked: + type: number + format: float + maxDecimalPlaces: 3 + minimum: 0.001 + description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. + pay_classification: + type: string + description: Pay classification for the entry. + enum: + - Regular + - Overtime + - Double overtime + x-examples: + Example: + entity_uuid: 123e4567-e89b-12d3-a456-426614174000 + entity_type: Employee + job_uuid: 123e4567-e89b-12d3-a456-426614174000 + time_zone: America/New_York + shift_started_at: '2024-06-10T09:00:00Z' + shift_ended_at: '2024-06-10T17:00:00Z' + metadata: + custom_field: custom value + entries: + - pay_classification: Regular + hours_worked: 1.5 + x-tags: + - Time Tracking + Time-Sheet-Update-Body: + type: object + description: Request body for updating a time sheet. + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + entity_uuid: + type: string + description: Unique identifier of the entity associated with the time sheet. + example: 123e4567-e89b-12d3-a456-426614174000 + entity_type: + type: string + description: Type of entity associated with the time sheet. + example: Employee + job_uuid: + type: string + description: Unique identifier of the job for which time was tracked. Currently is only supported for employees. + example: 123e4567-e89b-12d3-a456-426614174000 + time_zone: + type: string + description: Time zone of where the time was tracked. + example: America/New_York + shift_started_at: + type: string + format: date-time + description: The start time of the shift. Timestamp should be in ISO8601 + example: '2024-06-10T09:00:00Z' + shift_ended_at: + type: string + format: date-time + description: The end time of the shift. If the shift is still ongoing this will be null. + example: '2024-06-10T17:00:00Z' + metadata: + type: object + additionalProperties: + type: string + maxLength: 500 + propertyNames: + type: string + maxLength: 40 + maxProperties: 50 + description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. + entries: + type: array + description: Entries associated with the time sheet. + items: + type: object + properties: + uuid: type: string - description: The webhook subscriber URL. Updates will be POSTed to this URL. - readOnly: true - status: + description: Unique identifier of the entry. + hours_worked: + type: number + format: float + maxDecimalPlaces: 3 + minimum: 0.001 + description: Hours worked for this pay classification. Should be passed as number with up to 3 decimal places. + pay_classification: type: string + description: Pay classification for the entry. enum: - - pending - - verified - - removed - - unreachable - description: The status of the webhook subscription. - readOnly: true - subscription_types: - type: array - description: Receive updates for these types. - readOnly: false - items: - type: string - enum: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PaySchedule - - Signatory - x-examples: - Example: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - url: https://partner-app.com/subscriber - status: verified - subscription_types: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PaySchedule - - Signatory - required: - - uuid - External-Payroll-Basic: - description: The representation of an external payroll with minimal information. + - Regular + - Overtime + - Double overtime + x-examples: + Example: + version: 72deb67e16f7b92713c00d3582fa6c68 + entity_uuid: 123e4567-e89b-12d3-a456-426614174000 + entity_type: Employee + job_uuid: 123e4567-e89b-12d3-a456-426614174000 + time_zone: America/New_York + shift_started_at: '2024-06-10T09:00:00Z' + shift_ended_at: '2024-06-10T17:00:00Z' + metadata: + custom_field: custom value + entries: + - uuid: 123e4567-e89b-12d3-a456-426614174000 + hours_worked: 1.5 + x-tags: + - Time Tracking + Company-Suspension: + type: object + description: Record representing the suspension of a company's Gusto account. + x-examples: + switching_provider: + uuid: ade4528c-6cc4-4bd5-917a-9d636317e7d6 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: switching_provider + leaving_for: adp + reconcile_tax_method: refund_taxes + file_yearly_forms: false + file_quarterly_forms: false + comments: + tax_refunds: [] + shutting_down: + uuid: 5f04b8d0-1a41-40c6-9f5e-10b26ed89729 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: shutting_down + leaving_for: + reconcile_tax_method: pay_taxes + file_yearly_forms: true + file_quarterly_forms: true + comments: + tax_refunds: [] + properties: + uuid: + type: string + description: Unique identifier for this suspension. + company_uuid: + type: string + description: Unique identifier for the company which is suspended. + effective_date: + type: string + description: Date that the suspension took effect. + leaving_for: + type: + - string + - 'null' + description: Which competitor the company is joining instead. Only required if `reason` is `'switching_provider'`. + reason: + type: string + description: Explanation for why the company's account was suspended. + reconcile_tax_method: + type: string + description: How Gusto will handle taxes already collected. + enum: + - pay_taxes + - refund_taxes + file_quarterly_forms: + type: boolean + description: 'Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. + +' + file_yearly_forms: + type: boolean + description: 'Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. + +' + comments: + type: + - string + - 'null' + description: User-supplied comments describing why they are suspending their account. + tax_refunds: + type: array + description: 'Describes the taxes which are refundable to the company for this suspension. These may be refunded or paid by Gusto depending on the value in `reconcile_tax_method`. + +' + items: type: object - x-tags: - - External Payrolls - title: '' properties: - uuid: - type: string - description: The UUID of the external payroll. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: - type: string - description: External payroll's check date. - readOnly: true - payment_period_start_date: - type: string - description: External payroll's pay period start date. - readOnly: true - payment_period_end_date: - type: string - description: External payroll's pay period end date. - readOnly: true - status: - type: string - enum: - - unprocessed - - processed - description: The status of the external payroll. The status will be `unprocessed` when the external payroll is created and transition to `processed` once tax liabilities are entered and finalized. Once in the `processed` status all actions that can edit an external payroll will be disabled. - readOnly: true - x-examples: - Example: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: 2022-06-03 - payment_period_start_date: 2022-05-15 - payment_period_end_date: 2022-05-30 - required: - - uuid - External-Payroll-Tax-Suggestions: - description: The representation of an external payroll with minimal information. + amount: + type: string + description: Dollar amount. + description: + type: string + description: What kind of tax this is. + Company-Suspension-List: + type: array + description: List of suspension records for a company. + items: + "$ref": "#/components/schemas/Company-Suspension" + x-examples: + success_status: + - uuid: 3bd0fa7c-071e-4e85-a6bf-f73a69797694 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: shutting_down + leaving_for: + reconcile_tax_method: refund_taxes + file_yearly_forms: false + file_quarterly_forms: false + comments: + tax_refunds: [] + - uuid: 2ad79a4e-2fbd-43ca-a77b-e9049e6cab15 + company_uuid: 3a0e3fb7-3d4b-4c7c-8ba0-9ce3c9f1f3be + effective_date: '2025-07-23' + reason: switching_provider + leaving_for: adp + reconcile_tax_method: refund_taxes + file_yearly_forms: false + file_quarterly_forms: false + comments: Company is transitioning to ADP for their payroll and HR needs + tax_refunds: [] + Company-Suspension-Creation-Errors: + type: object + allOf: + - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-examples: + missing_required_fields: + errors: + - error_key: reconcile_tax_method + category: invalid_attribute_value + message: Reconcile tax method is required + - error_key: reason + category: invalid_attribute_value + message: Reason is required + - error_key: file_yearly_forms + category: invalid_attribute_value + message: File yearly forms is required + gusto_com_requires_support: + errors: + - error_key: leaving_for + category: invalid_attribute_value + message: Switching to Gusto.com must be processed by our Customer Support team + leaving_for_required: + errors: + - error_key: leaving_for + category: invalid_attribute_value + message: Leaving for is required when switching providers + switching_provider_cannot_pay_taxes: + errors: + - error_key: reconcile_tax_method + category: invalid_attribute_value + message: Reconcile tax method must be refund_taxes when switching to a new payroll provider + pay_taxes_requires_quarterly_filing: + errors: + - error_key: file_quarterly_forms + category: invalid_attribute_value + message: File quarterly forms must be true when paying withheld taxes + Time-Off-Request: + type: object + description: The representation of a time off request. + x-examples: + success_status: + uuid: 9145390f-0431-45ee-b8a0-6e7a8850d4cf + status: approved + employee_note: Vacation at Disney World! + employer_note: But Universal has Harry Potter World... + days: + '2019-06-01': '4.000' + '2019-06-02': '8.000' + '2019-06-03': '2.000' + request_type: vacation + policy_type: vacation + policy_uuid: ae382963-06b2-4b57-9780-8feda862bb70 + employee: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Karen Gusto + initiator: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + properties: + uuid: + type: string + description: The UUID of the time off request. + readOnly: true + status: + type: string + description: The status of the time off request. + enum: + - pending + - approved + - declined + - consumed + readOnly: true + employee_note: + type: string + description: A note about the time off request, from the employee to the employer. + readOnly: true + employer_note: + type: string + description: A note about the time off request, from the employer to the employee. + readOnly: true + request_type: + type: string + description: The type of time off request. + deprecated: true + enum: + - vacation + - sick + readOnly: true + policy_type: + type: string + description: The type of the time off policy (e.g. vacation, sick). + readOnly: true + policy_uuid: + type: + - string + - 'null' + description: The UUID of the time off policy associated with this request. + readOnly: true + days: + description: An object that represents the days in the time off request. The keys of the object are the dates, formatted as a YYYY-MM-DD string. The values of the object are the number of hours requested off for each day, formatted as a string representation of a numeric decimal to the thousands place. + type: object + readOnly: true + employee: + type: object + description: '' + properties: + uuid: + type: string + description: The UUID of the employee the time off request is for. + readOnly: true + full_name: + type: string + description: The full name of the employee the time off request is for. + readOnly: true + readOnly: true + initiator: + type: + - object + - 'null' + description: '' + properties: + uuid: + type: string + description: The UUID of the employee who initiated the time off request. + readOnly: true + full_name: + type: string + description: The full name of the employee who initiated the time off request. + readOnly: true + readOnly: true + approver: + type: + - object + - 'null' + description: This value will be null if the request has not been approved. + properties: + uuid: + type: string + description: The UUID of the employee who approved the time off request. + readOnly: true + full_name: + type: string + description: The full name of the employee who approved the time off request. + readOnly: true + readOnly: true + Time-Off-Request-List: + type: array + items: + "$ref": "#/components/schemas/Time-Off-Request" + x-examples: + success_status: + - uuid: 9145390f-0431-45ee-b8a0-6e7a8850d4cf + status: approved + employee_note: Vacation at Disney World! + employer_note: But Universal has Harry Potter World... + days: + '2019-06-01': '4.000' + '2019-06-02': '8.000' + '2019-06-03': '2.000' + request_type: vacation + policy_type: vacation + policy_uuid: ae382963-06b2-4b57-9780-8feda862bb70 + employee: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Karen Gusto + initiator: + uuid: 05f8663b-5944-4cfb-910e-1ee0a6df7b42 + full_name: Jessica Gusto + - uuid: 944cbbf4-8b13-4c45-babd-11ff13e17581 + status: pending + employee_note: Coming down with the flu + employer_note: '' + days: + '2019-02-01': '8.000' + request_type: sick + policy_type: sick + policy_uuid: bf493c7e-1a2d-4e5f-8c9a-3d7b6e4f2a1c + employee: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Gusto + approver: + initiator: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Gusto + Embedded-Time-Off-Request: + type: object + description: The representation of a time off request. + required: + - uuid + - status + - employee_note + - employer_note + - policy_type + - policy_uuid + - days + - employee + - initiator + - approver + x-examples: + success_status: + uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: pending + employee_note: Family vacation + employer_note: + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approved_status: + uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: approved + employee_note: Family vacation + employer_note: + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Morgan Chen + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + declined_status: + uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: declined + employee_note: Family vacation + employer_note: Not enough coverage + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + properties: + uuid: + type: string + description: The UUID of the time off request. + example: ad158cfb-99e4-4741-9db3-0bd3a267f222 + readOnly: true + status: + type: string + description: The status of the time off request. + example: pending + enum: + - pending + - approved + - declined + - consumed + readOnly: true + employee_note: + type: + - string + - 'null' + description: A note about the time off request, from the employee to the employer. + example: Family vacation + readOnly: true + employer_note: + type: + - string + - 'null' + description: A note about the time off request, from the employer to the employee. + example: + readOnly: true + policy_type: + type: + - string + - 'null' + description: The type of the time off policy (e.g. vacation, sick). + example: vacation + readOnly: true + policy_uuid: + type: + - string + - 'null' + description: The UUID of the time off policy associated with this request. + example: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + readOnly: true + days: + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"}).' + type: object + additionalProperties: + type: string + example: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + readOnly: true + employee: + type: object + description: '' + properties: + uuid: + type: string + description: The UUID of the employee the time off request is for. + example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + readOnly: true + full_name: + type: string + description: The full name of the employee the time off request is for. + example: Alex Johnson + readOnly: true + readOnly: true + initiator: + type: + - object + - 'null' + description: '' + properties: + uuid: + type: string + description: The UUID of the employee who initiated the time off request. + example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + readOnly: true + full_name: + type: string + description: The full name of the employee who initiated the time off request. + example: Alex Johnson + readOnly: true + readOnly: true + approver: + type: + - object + - 'null' + description: This value will be null if the request has not been approved. + properties: + uuid: + type: string + description: The UUID of the employee who approved the time off request. + example: 21d8dff4-ce09-4120-a274-3a5628bf6769 + readOnly: true + full_name: + type: string + description: The full name of the employee who approved the time off request. + example: Morgan Chen + readOnly: true + readOnly: true + Embedded-Time-Off-Request-List: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + x-examples: + success_status: + - uuid: ad158cfb-99e4-4741-9db3-0bd3a267f222 + status: pending + employee_note: Family vacation + employer_note: + days: + '2026-10-20': '8.000' + '2026-10-21': '8.000' + policy_type: vacation + policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + employee: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + approver: + initiator: + uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + full_name: Alex Johnson + - uuid: 944cbbf4-8b13-4c45-babd-11ff13e17581 + status: approved + employee_note: Feeling under the weather + employer_note: Feel better soon! + days: + '2026-11-05': '8.000' + policy_type: sick + policy_uuid: bf493c7e-1a2d-4e5f-8c9a-3d7b6e4f2a1c + employee: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Rivera + approver: + uuid: 21d8dff4-ce09-4120-a274-3a5628bf6769 + full_name: Morgan Chen + initiator: + uuid: c2236d10-959a-4bb9-a21d-e14c6df447b6 + full_name: James Rivera + Embedded-Time-Off-Request-Preview: + type: object + description: Preview of the balance impact for a time off request before it is created or updated. + required: + - balance_hours + - this_request_hours + - other_requested_hours + - remaining_balance_hours + - allow_negative_balance + - unlimited + x-examples: + success_status: + balance_hours: '64.0' + this_request_hours: '16.0' + other_requested_hours: '0.0' + remaining_balance_hours: '48.0' + allow_negative_balance: false + unlimited: false + properties: + balance_hours: + type: string + nullable: true + description: The employee's current available balance hours for this policy. Null for unlimited policies. + example: '64.0' + readOnly: true + this_request_hours: + type: string + description: The total hours for this time off request. + example: '16.0' + readOnly: true + other_requested_hours: + type: string + description: Hours from other pending or approved requests for this policy. + example: '0.0' + readOnly: true + remaining_balance_hours: + type: string + nullable: true + description: The projected balance after this request is applied. Null for unlimited policies. + example: '48.0' + readOnly: true + allow_negative_balance: + type: boolean + description: Whether the time off policy allows a negative balance. + example: false + readOnly: true + unlimited: + type: boolean + description: Whether the time off policy provides unlimited time off. + example: false + readOnly: true + Embedded-Time-Off-Balance: + type: object + description: Time off balance for an employee, grouped by policy. + x-examples: + success_status: + employee_uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + balances: + - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + balance_hours: '32.0' + accrued_hours: '40.0' + used_hours: '8.0' + pending_hours: '0.0' + properties: + employee_uuid: + type: string + description: The UUID of the employee. + example: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + readOnly: true + balances: + type: array + description: The employee's time off balances, one entry per policy. + readOnly: true + items: type: object - x-tags: - - External Payrolls - title: '' properties: - employee_uuid: - type: string - description: The UUID of the employee. - readOnly: true - tax_suggestions: - type: array - description: Possible tax liabilities selections. - readOnly: true - items: - type: object - properties: - tax_id: - type: integer - description: The ID of the tax. - readOnly: true - amount: - type: string - description: Calculated tax amount. - readOnly: true - x-examples: - Example: - employee_uuid: d21848d5-446f-48a8-9430-30fbefeabda4 - tax_suggestions: - - tax_id: 1 - amount: '500.0' - - tax_id: 2 - amount: '100.0' - - tax_id: 4 - amount: '30.0' - Tax-Liabilities-Selections: - description: The representation of tax liabilities selections. - type: array - x-tags: - - External Payrolls - title: '' - items: - type: object - properties: - tax_id: - type: integer - description: The ID of the tax. - readOnly: true - tax_name: - type: string - description: The name of the tax. - readOnly: true - last_unpaid_external_payroll_uuid: - type: string - description: The UUID of last unpaid external payroll. - nullable: true - readOnly: true - possible_liabilities: - type: array - description: Possible tax liabilities selections. - readOnly: true - items: - type: object - properties: - liability_amount: - type: string - description: Liability amount. - readOnly: true - payroll_check_date: - type: string - description: The external payroll check date. - readOnly: true - nullable: true - external_payroll_uuid: - type: string - description: The UUID of the external payroll. - readOnly: true - nullable: true - x-examples: - Example: - tax_id: 1 - tax_name: Federal Income Tax - last_unpaid_external_payroll_uuid: - possible_liabilities: - - liability_amount: '0.0' - payroll_check_date: - external_payroll_uuid: - - liability_amount: '3000.0' - payroll_check_date: 2022-06-01 - external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - Admin: - title: Admin + policy_uuid: + type: string + description: The UUID of the time off policy. + example: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + readOnly: true + balance_hours: + type: string + description: The employee's current available balance hours for this policy. + example: '32.0' + readOnly: true + accrued_hours: + type: string + description: The total hours accrued year-to-date for this policy. + example: '40.0' + readOnly: true + used_hours: + type: string + description: The total hours used year-to-date for this policy. + example: '8.0' + readOnly: true + pending_hours: + type: + - string + - 'null' + description: The total hours from pending time off requests for this policy. + example: '0.0' + readOnly: true + Embedded-Time-Off-Balance-List: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Balance" + x-examples: + success_status: + - employee_uuid: 51924fa0-26c6-4d4c-8832-3ef0b422c67e + balances: + - policy_uuid: c2d9b1bd-3f36-4c2d-a727-b2af057d6a7f + balance_hours: '32.0' + accrued_hours: '40.0' + used_hours: '8.0' + pending_hours: '0.0' + Contractor-Payment-Group-Preview: + description: Preview of a contractor payment group + type: object + properties: + uuid: + type: + - string + - 'null' + description: The unique identifier of the contractor payment group. + readOnly: true + company_uuid: + type: string + description: The UUID of the company. + readOnly: true + check_date: + type: string + description: The check date of the contractor payment group. + readOnly: true + debit_date: + type: string + description: The debit date of the contractor payment group. + readOnly: true + status: + type: string + description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. + enum: + - Unfunded + - Funded + readOnly: true + creation_token: + type: + - string + - 'null' + description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. + readOnly: true + partner_owned_disbursement: + type: + - boolean + - 'null' + description: Whether the disbursement is partner owned. + readOnly: true + submission_blockers: + type: array + description: List of submission blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Type" + credit_blockers: + type: array + description: List of credit blockers for the contractor payment group. + readOnly: true + items: + "$ref": "#/components/schemas/Payroll-Credit-Blocker-Type" + totals: + type: object + properties: + amount: + type: string + description: The total amount for the group of contractor payments. + readOnly: true + debit_amount: + type: string + description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. + readOnly: true + wage_amount: + type: string + description: The total wage amount for the group of contractor payments. + readOnly: true + reimbursement_amount: + type: string + description: The total reimbursement amount for the group of contractor payments. + readOnly: true + check_amount: + type: string + description: The total check amount for the group of contractor payments. + readOnly: true + readOnly: true + contractor_payments: + type: array + items: + "$ref": "#/components/schemas/Contractor-Payment-For-Group-Preview" + x-examples: + success: + uuid: + company_uuid: 450ddadf-69da-4f37-92e5-8d78b94bffec + check_date: '2025-08-21' + debit_date: '2025-08-19' + status: Unfunded + creation_token: 025e79ac-824d-4d3e-b819-8f265c3edb72 + partner_owned_disbursement: + submission_blockers: [] + credit_blockers: [] + contractor_payments: + - uuid: + contractor_uuid: e894e72b-0aef-4856-9082-9c7826db998d + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: true + payment_method: Direct Deposit + reimbursement: '750.0' + status: Unfunded + wage: '10000.0' + wage_type: Fixed + wage_total: '10000.0' + totals: + amount: '10750.00' + debit_amount: '10750.00' + wage_amount: '10000.00' + reimbursement_amount: '750.00' + check_amount: '0.00' + With submission blockers: + uuid: + company_uuid: 450ddadf-69da-4f37-92e5-8d78b94bffec + check_date: '2025-08-21' + debit_date: '2025-08-19' + status: Unfunded + creation_token: 8f3ced95-ccba-4ace-ac5d-03c1080bb768 + partner_owned_disbursement: + submission_blockers: + - blocker_type: fast_ach_threshold_exceeded + blocker_name: Fast ACH Threshold Exceeded + selected_option: + status: unresolved + unblock_options: + - unblock_type: wire_in + check_date: '2025-08-21' + metadata: + wire_in_deadline: '2025-08-21T18:00:00Z' + wire_in_amount: '1000750.0' + - unblock_type: move_to_four_day + check_date: '2025-08-21' + metadata: + debit_date: '2025-08-15' + credit_blockers: [] + contractor_payments: + - uuid: + contractor_uuid: e894e72b-0aef-4856-9082-9c7826db998d + bonus: '0.0' + hours: '0.0' + hourly_rate: '0.0' + may_cancel: true + payment_method: Direct Deposit + reimbursement: '750.0' + status: Unfunded + wage: '1000000.0' + wage_type: Fixed + wage_total: '1000000.0' + totals: + amount: '1000750.00' + debit_amount: '1000750.00' + wage_amount: '1000000.00' + reimbursement_amount: '750.00' + check_amount: '0.00' + Contractor-Payment-Group-Partner-Disbursements: + type: object + description: Partner disbursements for a contractor payment group + x-examples: + success_status: + contractor_payment_group_uuid: 123e4567-e89b-12d3-a456-426655440000 + disbursements: + - contractor_payment_uuid: 123e4567-e89b-12d3-a456-426655440001 + contractor_uuid: 123e4567-e89b-12d3-a456-426655440002 + payment_method: Check + payment_status: Not partner managed + - contractor_payment_uuid: 123e4567-e89b-12d3-a456-426655440003 + contractor_uuid: 123e4567-e89b-12d3-a456-426655440004 + payment_method: Direct Deposit + payment_status: Pending + properties: + contractor_payment_group_uuid: + type: string + description: The UUID of the contractor payment group + disbursements: + type: array + description: List of disbursements for the contractor payment group + items: type: object - description: The representation of an admin user in Gusto. - x-examples: - Example: - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - first_name: John - last_name: Smith - email: jsmith99@gmail.com properties: - uuid: - type: string - description: The unique id of the admin. - email: - type: string - description: The email of the admin for Gusto's system. If the email matches an existing user, this will create an admin account for them. - first_name: - type: string - description: The first name of the admin. - last_name: - type: string - description: The last name of the admin. - x-tags: - - Admins - required: - - uuid - Company: - title: Company + contractor_payment_uuid: + type: string + description: The UUID of the contractor payment + contractor_uuid: + type: string + description: The UUID of the contractor + payment_method: + type: string + description: The payment method for the disbursement + enum: + - Direct Deposit + - Check + payment_status: + type: string + description: The status of the payment + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + Payroll-Partner-Disbursements: + type: object + description: Partner disbursements for a payroll + x-examples: + success_status: + payroll_uuid: 123e4567-e89b-12d3-a456-426655440000 + disbursements: + - employee_uuid: 123e4567-e89b-12d3-a456-426655440001 + payment_method: Check + payment_status: Not partner managed + - employee_uuid: 123e4567-e89b-12d3-a456-426655440002 + payment_method: Direct Deposit + payment_status: Pending + properties: + payroll_uuid: + type: string + description: The UUID of the payroll + disbursements: + type: array + description: List of disbursements for the payroll + items: type: object - description: The representation of a company in Gusto. properties: - ein: - type: string - description: The Federal Employer Identification Number of the company. - readOnly: true - entity_type: + employee_uuid: + type: string + description: The UUID of the employee + payment_method: + type: string + description: The payment method for the disbursement + enum: + - Direct Deposit + - Check + payment_status: + type: string + description: The status of the payment + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + Show-Employees: + type: array + items: + allOf: + - "$ref": "#/components/schemas/Employee" + - type: object + additionalProperties: true + properties: + current_home_address: + "$ref": "#/components/schemas/Employee-Home-Address" + all_home_addresses: + type: array + items: + "$ref": "#/components/schemas/Employee-Home-Address-History-Entry" + member_portal_invitation_status: + type: + - object + - 'null' + description: Member portal invitation status information. Only included when the include param has the portal_invitations value set. + properties: + status: type: string - description: The tax payer type of the company. - nullable: true + description: The current status of the member portal invitation. enum: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - readOnly: true - contractor_only: - type: boolean - description: Whether the company only supports contractors. - tier: - type: string - description: The Gusto product tier of the company (not applicable to Embedded partner managed companies). - nullable: true - readOnly: true - enum: - - simple - - plus - - premium - - core - - complete - - concierge - - contractor_only - - basic - is_suspended: - type: boolean - description: Whether or not the company is suspended in Gusto. Suspended companies may not run payroll. - company_status: - type: string - description: The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. - enum: - - Approved - - Not Approved - - Suspended - readOnly: true - uuid: - type: string - description: A unique identifier of the company in Gusto. - readOnly: true - name: - type: string - description: The name of the company. - readOnly: true - slug: - type: string - description: The slug of the name of the company. - readOnly: true - trade_name: - type: string - description: The trade name of the company. - nullable: true - readOnly: true - is_partner_managed: - type: boolean - description: Whether the company is fully managed by a partner via the API - readOnly: true - pay_schedule_type: - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - description: The pay schedule assignment type. - readOnly: true - nullable: true - join_date: - type: string - nullable: true - description: Company's first invoiceable event date - readOnly: true - funding_type: - type: string - nullable: true - description: Company's default funding type - enum: - - ach - - reverse_wire - - wire_in - - brex - locations: - type: array - uniqueItems: false - description: The locations of the company. - items: - "$ref": "#/components/schemas/Company-Address" - readOnly: true + - pending + - sent + - verified + - complete + - cancelled + token_expired: + type: + - boolean + - 'null' + description: Whether the invitation token has expired. + welcome_email_sent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the welcome email was sent. + last_password_resent_at: + type: + - string + - 'null' + format: date-time + description: The date and time when the password reset was last resent. + partner_portal_invitation_sent: + type: + - boolean + - 'null' + description: Whether an external partner portal invitation webhook has been sent for this employee. Only included when the include param has the portal_invitations value set. + x-examples: + success_status: + - uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + first_name: Boaty + middle_initial: + last_name: Koss + email: keena.feest@kiehn.co.uk + company_uuid: e904cc79-818a-4da8-9d37-0be0a86fdda8 + manager_uuid: + version: a5cec1f1c0135feb3e76ca6ea3c46176 + current_employment_status: full_time + onboarding_status: onboarding_completed + preferred_first_name: + department_uuid: + employee_code: 46f036 + payment_method: Direct Deposit + department: + terminated: false + two_percent_shareholder: false + onboarded: true + historical: false + has_ssn: true + onboarding_documents_config: + uuid: + i9_document: false + jobs: + - uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + version: 863bcd01c51fcfa2468d604cffec7413 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + current_compensation_uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + payment_unit: Year + primary: true + two_percent_shareholder: false + state_wc_covered: + state_wc_class_code: + title: '' compensations: - type: object - description: The available company-wide compensation rates for the company. - properties: - hourly: - type: array - uniqueItems: true - description: The available hourly compensation rates for the company. - items: - type: object - properties: - name: - type: string - description: The name of the hourly compensation rate. - example: Overtime - readOnly: true - multiple: - type: number - description: The amount multiplied by the base rate of a job to calculate compensation. - example: 1.5 - readOnly: true - readOnly: true - readOnly: true - fixed: - type: array - uniqueItems: true - description: The available fixed compensation rates for the company. - items: - type: object - properties: - name: - type: string - description: The name of the fixed compensation. - example: Bonus - readOnly: true - readOnly: true - paid_time_off: - type: array - uniqueItems: true - description: The available types of paid time off for the company. - items: - type: object - properties: - name: - type: string - example: Vacation Hours - description: The name of the paid time off type. - readOnly: true - readOnly: true - readOnly: true - readOnly: true - primary_signatory: - type: object - nullable: true - description: The primary signatory of the company. - properties: - uuid: - type: string - readOnly: true - description: The UUID of the company's primary signatory. - first_name: - type: string - readOnly: true - description: The company's primary signatory's first name. - middle_initial: - type: string - nullable: true - readOnly: true - description: The company's primary signatory's middle initial. - last_name: - type: string - readOnly: true - description: The company's primary signatory's last name. - phone: - type: string - readOnly: true - description: The company's primary signatory's phone number. - email: - type: string - readOnly: true - description: The company's primary signatory's email address. - home_address: - type: object - properties: - street_1: - type: string - readOnly: true - street_2: - type: string - nullable: true - readOnly: true - city: - type: string - readOnly: true - state: - type: string - readOnly: true - zip: - type: string - readOnly: true - country: - type: string - readOnly: true - readOnly: true - description: The company's primary signatory's home address. - readOnly: true - primary_payroll_admin: - type: object - description: The primary payroll admin of the company. - properties: - first_name: - type: string - readOnly: true - description: The company's primary payroll admin's first name. - last_name: - type: string - readOnly: true - description: The company's primary payroll admin's last name. - phone: - type: string - nullable: true - readOnly: true - description: The company's primary payroll admin's phone number. - email: - type: string - readOnly: true - description: The company's primary payroll admin's email address. - x-examples: - Example: - ein: 00-0000001 - entity_type: C-Corporation - tier: complete - contractor_only: false - is_suspended: false - company_status: Approved - name: Shoppe Studios LLC - trade_name: Record Shoppe - is_partner_managed: false - pay_schedule_type: by_department - locations: - - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: true - compensations: - hourly: - - name: Overtime - multiple: 1.5 - - name: Double overtime - multiple: 2 - - name: Regular - multiple: 1 - - name: Outstanding vacation - multiple: 1 - - name: Holiday - multiple: 1 - - name: Emergency sick - self care - multiple: 1 - - name: Emergency sick - caring for others - multiple: 1 - - name: FMLA Public Health Emergency Leave - multiple: 1 - - name: Regular Hours - multiple: 1 - fixed: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Severance - - name: Minimum Wage Adjustment - - name: Reimbursement - paid_time_off: - - name: Vacation Hours - - name: Sick Hours - - name: Holiday Hours - primary_signatory: - first_name: Alda - middle_initial: '' - last_name: Carter - phone: - email: louie.hessel7757869450111547@zemlak.biz - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - primary_payroll_admin: - first_name: Ian - last_name: Labadie - phone: 1-565-710-7559 - email: louie.hessel7757869450111547@zemlak.biz - x-tags: - - Companies - required: - - uuid - Company-Onboarding-Status: - description: The representation of a company's onboarding status + - uuid: 2ec164d0-808b-446c-8120-8cfb500945d0 + employee_uuid: d7282d99-ab6b-42f5-ba45-f4a670e886a8 + version: db7bfb49a4f0893432cb562311bfcad9 + payment_unit: Year + flsa_status: Exempt + adjust_for_minimum_wage: false + minimum_wages: [] + job_uuid: bc875f9d-adc5-40f6-99db-ed8470bda25f + effective_date: '2025-06-09' + rate: '80000.00' + rate: '80000.00' + hire_date: '2024-06-09' + eligible_paid_time_off: [] + terminations: [] + garnishments: [] + date_of_birth: '2005-06-09' + ssn: '' + phone: + work_email: + current_home_address: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uiud: sample-uuid-123231 + all_home_addresses: + - street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uiud: sample-uuid-123231 + - street_1: 123 Example Rd + street_2: + city: Example City + state: EX + zip: '12345' + country: USA + active: false + uiud: another-sample-uuid-456789 + member_portal_invitation_status: + status: sent + token_expired: false + welcome_email_sent_at: '2024-01-15T14:30:00Z' + last_password_resent_at: + partner_portal_invitation_sent: true + Employee-Home-Address: + type: object + properties: + street_1: + type: + - string + - 'null' + readOnly: false + street_2: + type: + - string + - 'null' + readOnly: false + city: + type: + - string + - 'null' + readOnly: false + state: + type: + - string + - 'null' + readOnly: false + zip: + type: + - string + - 'null' + readOnly: false + x-speakeasy-name-override: zip_code + country: + type: + - string + - 'null' + readOnly: false + default: USA + active: + type: boolean + description: The status of the location. Inactive locations have been deleted, but may still have historical data associated with them. + readOnly: true + uuid: + type: string + description: Unique identifier for this address. + example: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uud: sample-uuid-123231 + Employee-Home-Address-History-Entry: + description: | + A single entry in an employee's home-address history. Returned in the + `all_home_addresses` array; includes the `effective_date` the address + became active in addition to the shared `Employee-Home-Address` fields. + allOf: + - "$ref": "#/components/schemas/Employee-Home-Address" + - type: object + properties: + effective_date: + type: string + format: date + description: The date the address became effective. + example: + street_1: 412 Kiera Stravenue + street_2: Suite 391 + city: San Francisco + state: CA + zip: '94107' + country: USA + active: true + uud: sample-uuid-123231 + effective_date: '2024-01-01' + Webhooks-Health-Check-Status: + description: The representation of a webhooks health check response + type: object + x-examples: + success_status: + status: healthy + last_checked_at: '2025-09-08T21:21:38.000Z' + properties: + status: + type: string + description: Latest health status of the webhooks system + readOnly: true + enum: + - healthy + - unhealthy + - unknown + last_checked_at: + type: string + format: date-time + readOnly: true + description: ISO8601 timestamp of the last successful health check with millisecond precision + Partner-Managed-Company-Migrate-Request: + type: object + description: 'Request body is optional in API version 2026-02-01 and later. The Terms of Service signer is resolved from the authenticated payroll-admin user; the previously required `email`, `ip_address`, and `external_user_id` parameters are no longer accepted. + +' + properties: {} + x-examples: + typical: {} + Partner-Managed-Company-Migrate-Response: + type: object + properties: + company_uuid: + type: string + description: The company UUID. + migration_status: + type: boolean + description: Returns `true` when the migration completed successfully, `false` otherwise. + errors: + type: array + description: Migration blockers preventing the migration. Empty array when `migration_status` is `true`. + items: type: object - title: '' - x-examples: - Example: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_completed: false - onboarding_steps: - - title: Add Your Company's Addresses - id: add_addresses - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Employees - id: add_employees - required: true - completed: true - skippable: true - requirements: - - add_addresses - - title: Enter Your Federal Tax Information - id: federal_tax_setup - required: true - completed: true - skippable: false - requirements: - - add_addresses - - add_employees - - title: Add Your Bank Account - id: add_bank_info - required: true - completed: true - skippable: false - requirements: [] - - title: Select a Pay Schedule - id: payroll_schedule - required: true - completed: false - skippable: false - requirements: [] - - title: Sign Documents - id: sign_all_forms - required: true - completed: false - skippable: false - requirements: - - add_employees - - federal_tax_setup - - state_setup - - add_bank_info - - payroll_schedule - - title: Verify Your Bank Account - id: verify_bank_info - required: true - completed: false - skippable: false - requirements: - - add_bank_info - x-tags: - - Companies properties: - uuid: + error_key: + type: string + category: + type: string + description: Returns `migration_blocker` for blockers. + enum: + - migration_blocker + message: + type: string + metadata: + type: object + properties: + key: type: string - description: the UUID of the company - onboarding_completed: - type: boolean - description: a boolean flag for the company's onboarding status - onboarding_steps: - type: array - description: a list of company onboarding steps - items: - title: Onboarding step - type: object - properties: - title: - type: string - description: The display name of the onboarding step - id: - type: string - description: The string identifier for each onboarding step - enum: - - add_addresses - - federal_tax_setup - - select_industry - - add_bank_info - - add_employees - - state_setup - - payroll_schedule - - sign_all_forms - - verify_bank_info - - external_payroll - required: - type: boolean - description: The boolean flag indicating whether the step is required or optional - completed: - type: boolean - description: The boolean flag indicating whether the step is completed or not. - skippable: - type: boolean - description: The boolean flag indicating whether the step can be skipped or not. - requirements: - type: array - description: A list of onboarding step that are required to be completed in order to proceed with the current onboarding step. - items: - type: string - enum: - - add_addresses - - federal_tax_setup - - select_industry - - add_bank_info - - add_employees - - state_setup - - payroll_schedule - - sign_all_forms - - verify_bank_info - - external_payroll - required: - - uuid - Payment-Configs: - title: Payment-Configs + description: Issue key (e.g., `company_suspended`, `terms_of_service`, `gusto_managed_benefits`). + warnings: + type: array + description: Non-blocking issues surfaced during migration (e.g., suspended company, active integrations). May be present even when `migration_status` is `true`. + items: type: object properties: - company_uuid: - type: string - description: Company uuid - readOnly: true - partner_uuid: - type: string - description: Partner uuid - readOnly: true - fast_payment_limit: - type: string - description: Payment limit for 1-day or 2-day payroll - readOnly: true - payment_speed: - type: string - description: Payment speed for 1-day, 2-day, 4-day - readOnly: true - x-examples: - Example: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 - fast_payment_limit: '5000' - payment_speed: 2-day - x-tags: - - Payment Configs - Contractor-Body: + error_key: + type: string + category: + type: string + description: Returns `migration_warning` for warnings. + enum: + - migration_warning + message: + type: string + metadata: + type: object + properties: + key: + type: string + x-examples: + Example: + company_uuid: 39abf9b9-650b-4e67-89a0-389dc6ee8a71 + migration_status: true + errors: [] + warnings: + - error_key: base + category: migration_warning + message: Company has active integrations. + metadata: + key: active_integrations + Partner-Managed-Company-Create-Request: + type: object + required: + - user + - company + properties: + user: + type: object + description: Information for the user who will be the primary payroll administrator for the new company. + required: + - first_name + - last_name + - email + properties: + first_name: + type: string + description: The first name of the user who will be the primary payroll admin. + last_name: + type: string + description: The last name of the user who will be the primary payroll admin. + email: + type: string + description: The email of the user who will be the primary payroll admin. + phone: + type: string + description: The phone number of the user who will be the primary payroll admin. + company: + type: object + required: + - name + properties: + name: + type: string + description: The legal name of the company. + trade_name: + type: string + description: The name of the company. + ein: + type: string + description: The employer identification number (EIN) of the company. + contractor_only: + type: boolean + description: Whether the company only supports contractors. Should be set to true if the company has no W-2 employees. If not passed, will default to false (i.e. the company will support both contractors and employees). + x-examples: + Example: + user: + first_name: Frank + last_name: Ocean + email: frank@example.com + phone: '2345558899' + company: + name: Frank's Ocean, LLC + trade_name: Frank's Ocean + ein: '123456789' + contractor_only: false + Partner-Managed-Company: + description: Object returned when creating a partner managed company + type: object + properties: + access_token: + type: string + description: Access token that can be used for OAuth access to the account. Access tokens expire 2 hours after they are issued. + readOnly: true + refresh_token: + type: string + description: Refresh token that can be exchanged for a new access token. + readOnly: true + company_uuid: + type: string + description: Gusto's UUID for the company + readOnly: true + expires_in: + type: integer + description: Time of access_token expiration in seconds + readOnly: true + x-examples: + Example: + access_token: de6780bc506a0446309bd9362820ba8aed28aa506c71eedbe1c5c4f9dd350e54 + refresh_token: 8257e65c97202ed1726cf9571600918f3bffb2544b26e00a61df9897668c33a1 + company_uuid: d525dd21-ba6e-482c-be15-c2c7237f1364 + expires_in: 7200 + Migration-Blocker: + description: Migration blocker that blocks company migration + type: object + properties: + errors: + type: array + items: type: object properties: - type: - type: string - description: The contractor type. - default: Individual - enum: - - Individual - - Business - wage_type: - type: string - description: 'The contractor’s wage type. - -' - enum: - - Fixed - - Hourly - start_date: - type: string - description: 'The day when the contractor will start working for the company. - -' - example: '2020-01-11' - hourly_rate: - type: string - description: The contractor’s hourly rate. This attribute is required if the wage_type is `Hourly`. - example: '40.0' - self_onboarding: - type: boolean - default: false - description: |- - Whether the contractor or the payroll admin will complete onboarding in Gusto. - Self-onboarding is recommended so that contractors receive Gusto accounts. - If self_onboarding is true, then email is required. - email: - type: string - description: The contractor’s email address. - first_name: - type: string - description: |- - The contractor’s first name. - This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. - last_name: - type: string - description: |- - The contractor’s last name. - This attribute is required for `Individual` contractors and will be ignored for `Business` contractors. - middle_initial: - type: string - description: |- - The contractor’s middle initial. - This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. - file_new_hire_report: - type: boolean - default: false - description: |- - The boolean flag indicating whether Gusto will file a new hire report for the contractor. - This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. - work_state: - type: string - nullable: true - description: |- - State where the contractor will be conducting the majority of their work for the company. - This value is used when generating the new hire report. - This attribute is required for `Individual` contractors if `file_new_hire_report` is true and will be ignored for `Business` contractors. - ssn: - type: string - pattern: "[0-9]{9}" - description: |- - This attribute is optional for `Individual` contractors and will be ignored for `Business` contractors. - Social security number is needed to file the annual 1099 tax form. - business_name: - type: string - description: The name of the contractor business. This attribute is required for `Business` contractors and will be ignored for `Individual` contractors. - ein: - type: string - description: |- - The employer identification number of the contractor business. - This attribute is optional for `Business` contractors and will be ignored for `Individual` contractors. - is_active: - type: boolean - description: The status of the contractor. If the contractor's start date is in the future, updating this field to true means we are setting the start date to today. - Contractor: - description: The representation of a contractor (individual or business) in Gusto. + error_key: + type: string + description: Error key + category: + type: string + description: Error category + message: + type: string + description: Blocker message + metadata: + type: object + properties: + key: + type: string + description: A categorization of the migration blocker, e.g. "migrated_company" + Migration-Warning: + description: Migration warning that does not block company migration + type: object + properties: + warnings: + type: array + items: type: object properties: - uuid: - type: string - description: The UUID of the contractor in Gusto. - readOnly: true - company_uuid: - type: string - description: The UUID of the company the contractor is employed by. - readOnly: true - wage_type: - type: string - enum: - - Fixed - - Hourly - description: The contractor's wage type, either "Fixed" or "Hourly". - is_active: - type: boolean - default: true - description: The status of the contractor with the company. - readOnly: true - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - type: - type: string - enum: - - Individual - - Business - description: 'The contractor''s type, either "Individual" or "Business". ' - first_name: - type: string - nullable: true - description: The contractor’s first name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. - last_name: - type: string - nullable: true - description: The contractor’s last name. This attribute is required for “Individual” contractors and will be ignored for “Business” contractors. - middle_initial: - type: string - nullable: true - description: The contractor’s middle initial. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. - business_name: - type: string - nullable: true - description: The name of the contractor business. This attribute is required for “Business” contractors and will be ignored for “Individual” contractors. - ein: - type: string - nullable: true - description: The Federal Employer Identification Number of the contractor business. This attribute is optional for “Business” contractors and will be ignored for “Individual” contractors. - has_ein: - type: boolean - nullable: true - description: Whether company's Employer Identification Number (EIN) is present - email: - type: string - nullable: true - description: 'The contractor’s email address. This attribute is optional for “Individual” contractors and will be ignored for “Business” contractors. ' - start_date: - type: string - description: The contractor's start date. - readOnly: true - address: - type: object - description: The contractor’s home address. - nullable: true - properties: - street_1: - type: string - readOnly: true - street_2: - type: string - nullable: true - readOnly: true - city: - type: string - readOnly: true - state: - type: string - readOnly: true - zip: - type: string - readOnly: true - country: - type: string - readOnly: true - readOnly: true - hourly_rate: - type: string - example: '50.0' - description: The contractor’s hourly rate. This attribute is required if the wage_type is “Hourly”. - file_new_hire_report: - type: boolean - default: false - description: The boolean flag indicating whether Gusto will file a new hire report for the contractor - work_state: - type: string - nullable: true - description: |- - State where the contractor will be conducting the majority of their work for the company. - This value is used when generating the new hire report. - onboarded: - type: boolean - description: The updated onboarding status for the contractor - onboarding_status: - type: string - description: One of the "onboarding_status" enum values. - enum: - - admin_onboarding_incomplete - - admin_onboarding_review - - self_onboarding_not_invited - - self_onboarding_invited - - self_onboarding_started - - self_onboarding_review - - onboarding_completed - payment_method: - type: string - nullable: true - description: The contractor's payment method. - enum: - - Direct Deposit - - Check - has_ssn: - type: boolean - description: Indicates whether the contractor has an SSN in Gusto. - department_uuid: - type: string - description: The UUID of the department the contractor is under - nullable: true - x-tags: - - Contractors - required: - - uuid - Contractor-Onboarding-Status: - description: The representation of an contractor's onboarding status. + error_key: + type: string + description: Error key + category: + type: string + description: Error category + message: + type: string + description: Warning message + metadata: + type: object + properties: + key: + type: string + description: A categorization of the migration warning, e.g. "marijuana_related_business" + Partner-Managed-Company-Migration-Readiness-Response: + description: '' + allOf: + - type: object + properties: + ready_to_migrate: + type: boolean + description: Indicates if the company is ready to be migrated. + company_uuid: + type: string + description: The company UUID + - "$ref": "#/components/schemas/Migration-Blocker" + - "$ref": "#/components/schemas/Migration-Warning" + x-examples: + Example: + ready_to_migrate: false + company_uuid: 39abf9b9-650b-4e67-89a0-389dc6ee8a71 + errors: + - error_key: base + category: invalid_operation + message: The operation is already performed for this company. + metadata: + key: migrated_company + warnings: [] + Partner-Managed-Company-Accept-Terms-Of-Service-Request: + type: object + description: '' + required: + - email + - ip_address + - external_user_id + properties: + email: + type: string + description: The user's email address on Gusto. You can retrieve the user's email via company's `/admins`, `/employees`, `/signatories`, and `/contractors` endpoints. + ip_address: + type: string + description: The IP address of the user who viewed and accepted the Terms of Service. + external_user_id: + type: string + description: The user ID on your platform. + x-examples: + Example: + ip_address: 192.168.1.2 + external_user_id: '2005648946132' + email: jsmith99@gmail.com + Partner-Managed-Company-Retrieve-Terms-Of-Service-Request: + type: object + required: + - email + properties: + email: + type: string + description: The user's email address on Gusto. You can retrieve the user's email via company's `/admins`, `/employees`, `/signatories`, and `/contractors` endpoints. + x-examples: + Example: + email: jsmith99@gmail.com + Partner-Managed-Company-Terms-Of-Service-Response: + description: '' + type: object + properties: + latest_terms_accepted: + type: boolean + description: Whether the latest terms have been accepted by the user. + x-examples: + Example: + latest_terms_accepted: true + Provision-Create-Request-Body: + type: object + required: + - user + - company + properties: + user: + type: object + description: Information for the user who will be the primary payroll administrator for the new company. + required: + - first_name + - last_name + - email + properties: + first_name: + type: string + description: The first name of the user who will be the primary payroll admin. + last_name: + type: string + description: The last name of the user who will be the primary payroll admin. + email: + type: string + description: The email of the user who will be the primary payroll admin. + phone: + type: string + description: The phone number of the user who will be the primary payroll admin. + company: + type: object + required: + - name + properties: + name: + type: string + description: The legal name of the company. + trade_name: + type: string + description: The name of the company. + ein: + type: string + description: The employer identification number (EIN) of the company. + states: + type: array + description: 'The states in which the company operates. States should be included by their two letter code, i.e. NY for New York. ' + items: + type: string + number_employees: + type: number + description: The number of employees in the company. + addresses: + type: array + uniqueItems: false + description: The locations for the company. This includes mailing, work, and filing addresses. + items: + type: object + properties: + street_1: + type: string + street_2: + type: + - string + - 'null' + city: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + state: + type: string + phone: + type: string + is_primary: + type: string + description: Whether or not this is a primary address for the company. If set to true, the address will be used as the mailing and filing address for the company and will be added as a work location. If set to false or not included, the address will only be added as a work location for the company. If multiple addresses are included, only one should be marked as primary. + x-examples: + Example: + user: + first_name: Frank + last_name: Ocean + email: frank@example.com + phone: '2345558899' + company: + name: Frank's Ocean, LLC + trade_name: Frank's Ocean + tier: complete + ein: '123456789' + states: + - CO + - CA + number_employees: 8 + addresses: + - street_1: 1201 16th Street Mall + street_2: Suite 350 + city: Denver + zip: '80202' + state: CO + phone: '2345678900' + is_primary: 'true' + - street_1: 525 20th Street + city: San Francisco + zip: '94107' + state: CA + phone: '2345678901' + Provision-Created: + type: object + properties: + account_claim_url: + type: string + description: A URL where the user should be redirected to complete their account setup inside of Gusto. + readOnly: true + x-examples: + Example: + account_claim_url: https://app.gusto.com/claim_account/3456789 + Payroll-Digest: + type: object + description: A payroll digest batch request. + x-examples: + success_status: + uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + batch_action: create + status: pending + properties: + uuid: + type: string + format: uuid + description: The unique identifier of the payroll digest batch. + readOnly: true + idempotency_key: + type: string + format: uuid + description: The idempotency key provided when creating the batch. + batch_action: + type: string + enum: + - create + description: The action being performed on the batch. + status: + type: string + enum: + - pending + - processing + - completed + - failed + description: The lifecycle status of the batch request itself. Terminal values are `completed` (processing finished — inspect `results` and `exclusions` for per-company outcomes) and `failed` (request failed; can be retried). This is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. + required: + - uuid + - idempotency_key + - batch_action + - status + Payroll-Digest-Results: + type: object + description: A payroll digest batch with processing results. + x-examples: + success_status: + uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + idempotency_key: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + status: completed + submitted_at: '2026-04-01T14:30:00Z' + completed_at: '2026-04-01T14:30:12Z' + submitted_items: 4 + processed_items: 2 + excluded_items: 2 + results: + - idx: 0 + entity_type: company + uuid: c1111111-1111-1111-1111-111111111111 + name: Acme Corporation + status: success + blockers: + - type: missing_bank_account + description: Company bank account not set up + payrolls: + - payroll_uuid: + payroll_type: regular + display_title: Run biweekly payroll + auto_payroll: false + status: ready_to_start + pay_period: + start_date: '2026-03-16' + end_date: '2026-03-29' + check_date: '2026-04-03' + run_payroll_by: '2026-03-31' + pay_schedule: + uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + frequency: Every other week + custom_name: Custom - every 1st and 15th + totals: + - payroll_uuid: 11111111-2222-3333-4444-555555555555 + payroll_type: regular + display_title: Run biweekly payroll + auto_payroll: true + status: submitted + pay_period: + start_date: '2026-03-02' + end_date: '2026-03-15' + check_date: '2026-03-20' + run_payroll_by: '2026-03-17' + pay_schedule: + uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + frequency: Every other week + custom_name: Custom - every 1st and 15th + totals: + total_debit_amount: '15234.56' + net_pay: '11456.78' + total_employer_cost: '16890.12' + - idx: 3 + entity_type: company + uuid: c2222222-2222-2222-2222-222222222222 + name: Widget Inc + status: success + payrolls: [] + exclusions: + - idx: 1 + entity_type: company + uuid: c3333333-3333-3333-3333-333333333333 + status: failed + category: not_found + message: Company not found. + - idx: 2 + entity_type: company + uuid: c4444444-4444-4444-4444-444444444444 + status: failed + category: company_inactive + message: Company is inactive or not fully onboarded. + properties: + uuid: + type: string + format: uuid + description: The unique identifier of the payroll digest batch. + readOnly: true + idempotency_key: + type: string + format: uuid + description: The idempotency key provided when creating the batch. + status: + type: string + enum: + - pending + - processing + - completed + - failed + description: The lifecycle status of the batch request itself. Terminal values are `completed` (processing finished — inspect `results` and `exclusions` for per-company outcomes) and `failed` (request failed; can be retried). This is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. + submitted_at: + type: string + format: date-time + description: The timestamp when the batch was submitted. + completed_at: + type: + - string + - 'null' + format: date-time + description: The timestamp when the batch processing completed. + submitted_items: + type: + - integer + - 'null' + description: The number of companies submitted in the batch. + processed_items: + type: integer + description: The number of companies successfully processed. Only present once the batch reaches a terminal status. + excluded_items: + type: integer + description: The number of companies excluded from processing. Only present once the batch reaches a terminal status. + results: + type: array + description: Per-company results. Only present once the batch reaches a terminal status. Includes successfully processed companies (with their `payrolls` array, which may be empty when the company has no payrolls in the date window). + items: type: object - title: Contractor-Onboarding-Status - x-tags: - - Contractor properties: - uuid: - type: string - description: Unique identifier for this contractor. - onboarding_status: - type: string - description: One of the "onboarding_status" enum values. - enum: - - onboarding_completed - - admin_onboarding_review - - admin_onboarding_incomplete - onboarding_steps: - type: array - description: List of steps required to onboard a contractor. - items: - title: Onboarding step - type: object - properties: - title: - type: string - description: User-friendly description of the onboarding step. - id: - type: string - description: String identifier for the onboarding step. - required: - type: boolean - description: When true, this step is required. - completed: - type: boolean - description: When true, this step has been completed. - requirements: - type: array - description: A list of onboarding steps required to begin this step. - items: - type: string - required: - - uuid - Contractor-Payment: - description: The representation of a single contractor payment. + idx: + type: integer + description: The index of this company in the original POST batch array. + entity_type: + type: string + enum: + - company + description: The type of entity this result represents. + uuid: + type: string + format: uuid + description: The UUID of the company. + name: + type: string + description: The legal/display name of the company. + status: + type: string + enum: + - success + - partial_success + - failed + description: The status of this company's digest computation. + blockers: + type: array + description: Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. + items: + type: object + properties: + type: + type: string + description: A machine-readable blocker key (e.g. `missing_bank_account`). + description: + type: string + description: Human-readable description of the blocker. + payrolls: + type: array + description: Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty. + items: + type: object + properties: + payroll_uuid: + type: + - string + - 'null' + format: uuid + description: UUID of the payroll. `null` for upcoming pay periods that have not been started yet (the `payrolls` API has not yet created a payroll record). Once a payroll is created, subsequent digest requests will include the real `payroll_uuid`. + payroll_type: + type: string + description: The type of payroll (e.g. `regular`, `new_hire`, `termination`, `transition`, `bonus`, `correction`). + display_title: + type: string + description: Partner-facing display title for this payroll (e.g. "Run biweekly payroll"). + auto_payroll: + type: boolean + description: Whether the company has auto-payroll enabled for this pay schedule. + status: + type: string + description: The lifecycle status of the payroll (e.g. `ready_to_start`, `in_progress`, `submitted`, `completed`, `failed`). + pay_period: + type: object + properties: + start_date: + type: + - string + - 'null' + format: date + description: First day of the pay period. + end_date: + type: + - string + - 'null' + format: date + description: Last day of the pay period. + check_date: + type: + - string + - 'null' + format: date + description: The date employees get paid. + run_payroll_by: + type: + - string + - 'null' + format: date + description: The deadline to run payroll for this pay period. + pay_schedule: + type: + - object + - 'null' + properties: + uuid: + type: string + format: uuid + description: UUID of the pay schedule. + frequency: + type: string + description: Human-friendly pay frequency (e.g. "Every other week"). + custom_name: + type: + - string + - 'null' + description: Custom name for the pay schedule, when set. + totals: + type: + - object + - 'null' + description: Pay totals. `null` when the payroll has not been calculated, or when the calculation is stale (the partner edited hours/earnings after the last calculation). + properties: + total_debit_amount: + type: string + description: Total amount debited from the company bank account (string-formatted decimal). + net_pay: + type: string + description: Total net pay across all employees on this payroll (string-formatted decimal). + total_employer_cost: + type: string + description: Total employer cost including taxes and benefits (string-formatted decimal). + exclusions: + type: array + description: Companies that could not be processed. Only present once the batch reaches a terminal status. Every UUID submitted in the POST batch appears in exactly one of `results` or `exclusions`. + items: type: object - x-examples: - Example: - uuid: 04552eb9-7829-4b18-ae96-6983552948df - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - may_cancel: true - status: Funded - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - title: Contractor Payment properties: - uuid: - type: string - description: The unique identifier of the contractor payment in Gusto. - readOnly: true - contractor_uuid: - type: string - description: The UUID of the contractor. - readOnly: true - bonus: - type: string - description: The bonus amount in the payment. - readOnly: true - date: - type: string - description: The payment date. - readOnly: true - hours: - type: string - description: The number of hours worked for the payment. - readOnly: true - payment_method: - type: string - description: The payment method. - enum: - - Direct Deposit - - Check - - Historical Payment - - Correction Payment - readOnly: true - reimbursement: - type: string - description: The reimbursement amount in the payment. - readOnly: true - status: - type: string - description: Contractor payment status - enum: - - Funded - - Unfunded - hourly_rate: - type: string - description: The rate per hour worked for the payment. - readOnly: true - may_cancel: - type: boolean - description: Determine if the contractor payment can be cancelled. - readOnly: true - wage: - type: string - description: The fixed wage of the payment, regardless of hours worked. - readOnly: true - wage_type: - type: string - description: The wage type for the payment. - enum: - - Hourly - - Fixed - readOnly: true - wage_total: - type: string - description: "(hours * hourly_rate) + wage + bonus" - readOnly: true - x-tags: - - Contractor Payments - required: - - uuid - Contractor-Payment-Group: - description: The full contractor payment group, including associated contractor payments. - type: object - properties: - uuid: - type: string - description: The unique identifier of the contractor payment group. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: - type: string - description: The check date of the contractor payment group. - readOnly: true - debit_date: - type: string - description: The debit date of the contractor payment group. - readOnly: true - status: - type: string - description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. - enum: - - Unfunded - - Funded - readOnly: true - creation_token: - type: string - description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. - readOnly: true - nullable: true - totals: - type: object - properties: - amount: - type: string - description: The total amount for the group of contractor payments. - readOnly: true - debit_amount: - type: string - description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. - readOnly: true - wage_amount: - type: string - description: The total wage amount for the group of contractor payments. - readOnly: true - reimbursement_amount: - type: string - description: The total reimbursement amount for the group of contractor payments. - readOnly: true - readOnly: true - contractor_payments: - type: array - items: - "$ref": "#/components/schemas/Contractor-Payment-For-Group" - x-tags: - - Contractor Payment Groups - Contractor-Payment-Group-Minimal: - description: The summary of a contractor payment group. - type: object - properties: - uuid: - type: string - description: The unique identifier of the contractor payment group. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - check_date: - type: string - description: The check date of the contractor payment group. - readOnly: true - debit_date: - type: string - description: The debit date of the contractor payment group. - readOnly: true - status: - type: string - description: The status of the contractor payment group. Will be `Funded` if all payments that should be funded (i.e. have `Direct Deposit` for payment method) are funded. A group can have status `Funded` while having associated payments that have status `Unfunded`, i.e. payment with `Check` payment method. - enum: - - Unfunded - - Funded - readOnly: true - creation_token: - type: string - description: Token used to make contractor payment group creation idempotent. Will error if attempting to create a group with a duplicate token. - readOnly: true - nullable: true - totals: - type: object - properties: - amount: - type: string - description: The total amount for the group of contractor payments. - readOnly: true - debit_amount: - type: string - description: The total debit amount for the group of contractor payments. Sum of wage & reimbursement amount. - readOnly: true - wage_amount: - type: string - description: The total wage amount for the group of contractor payments. - readOnly: true - reimbursement_amount: - type: string - description: The total reimbursement amount for the group of contractor payments. - readOnly: true - readOnly: true - x-tags: - - Contractor Payment Groups - Contractor-Payment-For-Group: - description: The representation of a single contractor payment. - type: object - properties: - uuid: - type: string - description: The unique identifier of the contractor payment in Gusto. - readOnly: true - contractor_uuid: - type: string - description: The UUID of the contractor. - readOnly: true - bonus: - type: string - description: The bonus amount in the payment. - readOnly: true - hours: - type: string - description: The number of hours worked for the payment. - readOnly: true - payment_method: - type: string - description: The payment method. - enum: - - Direct Deposit - - Check - - Historical Payment - - Correction Payment - readOnly: true - reimbursement: - type: string - description: The reimbursement amount in the payment. - readOnly: true - status: - type: string - description: The status of the contractor payment. Will transition to `Funded` during payments processing if the payment should be funded, i.e. has `Direct Deposit` for payment method. Contractors payments with `Check` payment method will remain `Unfunded`. - enum: - - Funded - - Unfunded - hourly_rate: - type: string - description: The rate per hour worked for the payment. - readOnly: true - may_cancel: - type: boolean - description: Determine if the contractor payment can be cancelled. - readOnly: true - wage: - type: string - description: The fixed wage of the payment, regardless of hours worked. - readOnly: true - wage_type: - type: string - description: The wage type for the payment. - enum: - - Hourly - - Fixed - readOnly: true - wage_total: - type: string - description: "(hours * hourly_rate) + wage + bonus" - readOnly: true - x-tags: - - Contractor Payment Groups - Contractor-Payment-Summary: - description: The representation of the summary of contractor payments for a given company in a given time period. - type: object - x-examples: - Example: - total: - reimbursements: '110.0' - wages: '1840.0' - contractor_payments: - - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - reimbursement_total: '110.0' - wage_total: '1840.0' - payments: - - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - may_cancel: true - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '100.0' - date: '2020-10-19' - hours: '0.00' - payment_method: Direct Deposit - reimbursement: '10.0' - hourly_rate: '0.0' - may_cancel: true - wage: '1000.0' - wage_type: Fixed - wage_total: '1100.0' - properties: - total: - type: object - description: The wage and reimbursement totals for all contractor payments within a given time period. - properties: - reimbursements: - type: string - description: The total reimbursements for contractor payments within a given time period. - readOnly: true - wages: - type: string - description: The total wages for contractor payments within a given time period. - readOnly: true - readOnly: true - contractor_payments: - type: array - uniqueItems: false - description: The individual contractor payments, within a given time period, grouped by contractor. - items: - type: object - description: '' - properties: - contractor_uuid: - type: number - description: The UUID of the contractor. - readOnly: true - reimbursement_total: - type: string - description: The total reimbursements for the contractor within a given time period. - readOnly: true - wage_total: - type: string - description: The total wages for the contractor within a given time period. - readOnly: true - payments: - type: array - uniqueItems: false - description: 'The contractor’s payments within a given time period. - -' - items: - "$ref": "#/components/schemas/Contractor-Payment" - readOnly: true - readOnly: true - readOnly: true - x-tags: - - Contractor Payments - Contractor-Payment-Summary-By-Dates: - description: The representation of the summary of contractor payments for a given company in a given time period. - type: object - x-examples: - Example: - total: - reimbursements: '110.0' - wages: '1840.0' - contractor_payments: - - check_date: '2020-10-19' - reimbursement_total: '110.0' - wage_total: '1840.0' - payments: - - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - hourly_rate: '18.0' - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - - uuid: 25cfeb96-17fc-4fdf-8941-57f3fb9eea00 - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '100.0' - date: '2020-10-19' - hours: '0.00' - payment_method: Direct Deposit - reimbursement: '10.0' - hourly_rate: '0.0' - wage: '1000.0' - wage_type: Fixed - wage_total: '1100.0' - properties: - total: - type: object - description: The wage and reimbursement totals for all contractor payments within a given time period. - properties: - reimbursements: - type: string - description: The total reimbursements for contractor payments within a given time period. - readOnly: true - wages: - type: string - description: The total wages for contractor payments within a given time period. - readOnly: true - readOnly: true - contractor_payments: - type: array - uniqueItems: false - description: The individual contractor payments, within a given time period, grouped by check date. - items: - type: object - description: '' - properties: - contractor_uuid: - type: string - description: The UUID of the contractor. - readOnly: true - check_date: - type: string - description: The payment check date. - readOnly: true - reimbursement_total: - type: string - description: The total reimbursements for the contractor within a given time period. - readOnly: true - wage_total: - type: string - description: The total wages for the contractor within a given time period. - readOnly: true - payments: - type: array - uniqueItems: false - description: 'The contractor’s payments within a given time period. - -' - items: - "$ref": "#/components/schemas/Contractor-Payment" - readOnly: true - readOnly: true - readOnly: true - x-tags: - - Contractor Payments - Contractor-Payment-Method: - title: Contractor-Payment-Method - type: object - x-examples: - Example-1: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 100 - Example-2: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Check - description: '' - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - type: - type: string - enum: - - Direct Deposit - - Check - description: The payment method type. If type is Check, then split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. - split_by: - type: string - enum: - - Amount - - Percentage - description: Describes how the payment will be split. If split_by is Percentage, then the split amounts must add up to exactly 100. If split_by is Amount, then the last split amount must be nil to capture the remainder. - nullable: true - splits: - type: array - nullable: true - items: - "$ref": "#/components/schemas/Payment-Method-Bank-Account" - x-tags: - - Contractor Payment Method - Payment-Method-Bank-Account: - type: object - description: Representation of a bank account item - properties: - uuid: - type: string - description: The bank account ID - name: - type: string - description: The bank account name - hidden_account_number: - type: string - description: Masked bank account number - priority: - type: integer - description: The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential. - split_amount: - description: The cents amount allocated for each payment split - type: integer - nullable: true - required: - - uuid - Unprocessable-Entity-Error-Object: - description: "Unprocessable Entity\n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" + idx: + type: integer + description: The index of this company in the original POST batch array. + entity_type: + type: string + enum: + - company + description: The type of entity this exclusion represents. + uuid: + type: string + format: uuid + description: The UUID of the excluded company. + status: + type: string + enum: + - failed + description: The status of this company's digest computation. + category: + type: string + enum: + - not_found + - company_inactive + - duplicate + - internal_error + description: Machine-readable category for why the company was excluded. + message: + type: string + description: Human-readable explanation for the exclusion. + required: + - uuid + - idempotency_key + - status + - submitted_at + Payroll-Digest-Conflict-Error: + type: object + description: Error response when a payroll digest idempotency key has already been used by the same partner. + x-examples: + conflict: + errors: + - error_key: idempotency_key + category: invalid_attribute_value + message: Idempotency key has already been used + metadata: + request_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + properties: + errors: + type: array + items: type: object - required: - - errors properties: + error_key: + type: string + description: The key identifying the error source. + category: + type: string + description: The error category. + message: + type: string + description: Human-readable error message. + metadata: + type: object + properties: + request_uuid: + type: string + format: uuid + description: The UUID of the existing payroll digest batch that already used this idempotency key. + Employees-Annual-Fica-Wage-Report-Acceptance: + type: object + description: Acceptance acknowledgement for an asynchronous employees annual FICA wage report. Returned with HTTP 202; poll the report status endpoint using `request_uuid`. + required: + - request_uuid + - company_uuid + - start_year + - end_year + properties: + request_uuid: + type: string + format: uuid + description: The UUID of the report request. Use this to poll for report completion. + company_uuid: + type: string + format: uuid + description: The UUID of the company. + start_year: + type: integer + description: The start year for the report. + end_year: + type: integer + description: The end year for the report. + x-examples: + accepted: + request_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + company_uuid: 12345678-abcd-ef12-3456-7890abcdef12 + start_year: 2023 + end_year: 2024 + parameters: + VersionHeader: + name: X-Gusto-API-Version + in: header + required: false + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + information_request_uuid: + name: information_request_uuid + in: path + required: true + schema: + type: string + description: The UUID of the information request + securitySchemes: + CompanyAccessAuth: + type: http + scheme: bearer + description: Company-level authentication + SystemAccessAuth: + type: http + scheme: bearer + description: System-level authentication + responses: + Not-Found-Error-Object: + description: "Not Found \n \nThe requested resource does not exist. Make sure the provided UUID is valid.\n" + Unprocessable-Entity-Error-Object: + description: "Unprocessable Entity \n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + examples: + Basic: + value: errors: - type: array - items: - "$ref": "#/components/schemas/Entity-Error-Object" - Entity-Error-Object: - type: object - required: - - error_key - - category - properties: - error_key: - type: string - description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. - category: - type: string - description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. If category is `nested_errors`, the object will contain a nested `errors` property with entity errors. - message: - type: string - description: Provides details about the error - generally this message can be surfaced to an end user. - metadata: - type: object - description: Contains relevant data to identify the resource in question when applicable. For example, to identify an entity `entity_type` and `entity_uuid` will be provided. - oneOf: - - "$ref": "#/components/schemas/Metadata-With-Multiple-Entities" - - "$ref": "#/components/schemas/Metadata-With-One-Entity" + - error_key: base + category: payroll_blocker + message: Company must complete all onboarding requirements in order to run payroll. + metadata: + key: needs_onboarding + Resource: + value: errors: - type: array - description: Will only exist if category is `nested_errors`. It is possible to have multiple levels of nested errors. - items: - type: object - properties: - error_key: - type: string - description: Specifies where the error occurs. Typically this key identifies the attribute/parameter related to the error. - category: - type: string - description: Specifies the type of error. The category provides error groupings and can be used to build custom error handling in your integration. If category is `nested_errors`, the object will contain a nested `errors` property with entity errors. - message: - type: string - description: Provides details about the error - generally this message can be surfaced to an end user. - metadata: - type: object - description: Contains relevant data to identify the resource in question when applicable. For example, to identify an entity `entity_type` and `entity_uuid` will be provided. - "$ref": "#/components/schemas/Entity-Error-Object" - Metadata-With-One-Entity: - type: object - description: single entity - additionalProperties: true - properties: - entity_type: - type: string - description: Name of the entity that the error corresponds to. - entity_uuid: - type: string - description: Unique identifier for the entity. - valid_from: - type: string - nullable: true - valid_up_to: - type: string - nullable: true - key: - type: string - nullable: true - state: - type: string - nullable: true - Metadata-With-Multiple-Entities: - type: object - description: multiple entities - required: - - entities - properties: - entities: - type: array - items: - "$ref": "#/components/schemas/Metadata-With-One-Entity" - Payroll-Blockers-Error: - description: |- - Payroll Blockers Error - - For detailed information, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) - type: object - properties: + - error_key: first_name + category: invalid_attribute_value + message: First name is required + - error_key: date_of_birth + category: invalid_attribute_value + message: Date of birth is not a valid date + Nested: + value: errors: - type: array - items: - type: object - properties: - error_key: - type: string - description: The string "base" - category: - type: string - description: The string "payroll_blocker" - message: - type: string - description: Human readable description of the payroll blocker - metadata: - type: object - properties: - key: - type: string - description: A categorization of the payroll blocker, e.g. "geocode_error" - Authentication: - description: '' - type: object - properties: - access_token: - type: string - description: A new access token that can be used for subsequent authenticated requests - token_type: - type: string - default: bearer - description: The literal string 'bearer' - expires_in: - type: number - default: 7200 - description: The TTL of this token. After this amount of time, you must hit the refresh token endpoint to continue making authenticated requests. - refresh_token: - type: string - description: A token that must be passed to the refresh token endpoint to get a new authenticated token. - created_at: - type: string - description: Datetime for when the new access token is created. - scope: - type: string - description: All of the scopes for which the access token provides access. - Pay-Schedule: - type: object - title: Pay Schedule - x-examples: - Example: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - auto_pilot: false - custom_name: A new monthly pay schedule - description: The representation of a pay schedule. - properties: - uuid: - "$ref": "#/components/schemas/Pay-Schedule-Uuid" - frequency: - "$ref": "#/components/schemas/Pay-Schedule-Frequency" - anchor_pay_date: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" - anchor_end_of_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" - day_1: - "$ref": "#/components/schemas/Pay-Schedule-Day-1" - day_2: - "$ref": "#/components/schemas/Pay-Schedule-Day-2" - name: - "$ref": "#/components/schemas/Pay-Schedule-Name" - custom_name: - "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" - auto_pilot: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Pilot" - active: - "$ref": "#/components/schemas/Pay-Schedule-Active" - x-tags: - - Pay Schedules - required: - - uuid - Pay-Schedule-Create-Update: - type: object - title: Pay Schedule - x-examples: - Example: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - auto_pilot: false - custom_name: A new monthly pay schedule - description: The representation of a pay schedule. - properties: - uuid: - "$ref": "#/components/schemas/Pay-Schedule-Uuid" - frequency: - "$ref": "#/components/schemas/Pay-Schedule-Frequency-Create-Update" - anchor_pay_date: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-Pay-Date" - anchor_end_of_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Anchor-End-Of-Pay-Period" - day_1: - "$ref": "#/components/schemas/Pay-Schedule-Day-1" - day_2: - "$ref": "#/components/schemas/Pay-Schedule-Day-2" - name: - "$ref": "#/components/schemas/Pay-Schedule-Name" - custom_name: - "$ref": "#/components/schemas/Pay-Schedule-Custom-Name" - auto_pilot: - "$ref": "#/components/schemas/Pay-Schedule-Auto-Pilot" - active: - "$ref": "#/components/schemas/Pay-Schedule-Active" - x-tags: - - Pay Schedules - required: - - uuid - Pay-Schedule-Uuid: - type: string - description: The unique identifier of the pay schedule in Gusto. - readOnly: true - Pay-Schedule-Frequency: + - error_key: contractor_payments + category: nested_errors + metadata: + contractor_uuid: 72ae4617-daa9-4ed7-85e0-18ed5d0ee835 + errors: + - error_key: hours + category: invalid_attribute_value + message: Ella Fitzgerald is paid fixed wage and hours cannot be set on a contractor payment + - error_key: contractor_payments + category: nested_errors + metadata: + contractor_uuid: 2d7bf62c-babf-4a12-8292-340e2d9cab28 + errors: + - error_key: wage + category: invalid_attribute_value + message: Isaiah Berlin is paid hourly and wage cannot be set on a contractor payment +paths: + "/v1/companies/{company_uuid}/ach_transactions": + get: + summary: Get all ACH transactions for a company + operationId: get-ach-transactions + security: + - CompanyAccessAuth: [] + description: |- + Fetches all ACH transactions for a company. + + scope: `ach_transactions:read` + tags: + - ACH Transactions + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - description: The frequency that employees on this pay schedule are paid with Gusto. enum: - - Every week - - Every other week - - Twice per month - - Monthly - - Quarterly - - Annually - readOnly: true - Pay-Schedule-Frequency-Create-Update: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: type: string - description: The frequency that employees on this pay schedule are paid with Gusto. - enum: - - Every week - - Every other week - - Twice per month - - Monthly - readOnly: true - Pay-Schedule-Anchor-Pay-Date: + - name: contractor_payment_uuid + in: query + required: false + description: The UUID of the contractor payment + schema: type: string - description: The first date that employees on this pay schedule are paid with Gusto. - readOnly: true - Pay-Schedule-Anchor-End-Of-Pay-Period: + - name: payroll_uuid + in: query + required: false + description: The UUID of the payroll + schema: type: string - description: The last date of the first pay period. This can be the same date as the anchor pay date. - readOnly: true - Pay-Schedule-Day-1: + - name: transaction_type + in: query + required: false + description: Used to filter the ACH transactions to only include those with a specific transaction type, such as "Credit employee pay". + schema: + type: string + - name: payment_direction + in: query + required: false + description: Used to filter the ACH transactions to only include those with a specific payment direction, either "credit" or "debit". + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: type: integer - nullable: true - description: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the “Twice per month” and “Monthly” frequencies. It will be null for pay schedules with other frequencies. - readOnly: true - Pay-Schedule-Day-2: + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: type: integer - nullable: true - description: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, this field should be set to 31. For months shorter than 31 days, we will set the second pay date to the last day of the month. It will be null for pay schedules with other frequencies. - readOnly: true - Pay-Schedule-Name: + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Ach-Transaction-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: achTransactions + x-speakeasy-name-override: getAll + "/v1/companies/{company_id}/admins": + get: + summary: Get all the admins at a company + operationId: get-v1-companies-company_id-admins + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of all the admins at a company + + scope: `company_admin:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - nullable: true - description: This field will be hourly when the pay schedule is for hourly employees, salaried when the pay schedule is for salaried employees, the department name if pay schedule is by department, and null when the pay schedule is for all employees. - readOnly: true - Pay-Schedule-Custom-Name: + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: type: string - description: A custom name for a pay schedule, defaults to the pay frequency description. - readOnly: true - Pay-Schedule-Auto-Pilot: - type: boolean - description: With Autopilot® enabled, payroll will run automatically one day before your payroll deadlines. - Pay-Schedule-Active: - type: boolean - description: Whether this pay schedule is associated with any employees. A pay schedule is inactive when it's unassigned. - readOnly: true - Ytd-Benefit-Amounts-From-Different-Company: - type: object - description: Ytd Benefit Amounts From Different Company - properties: - uuid: - type: string - description: The unique identifier for this benefit amount record. - benefit_type: - type: integer - description: The benefit type supported by Gusto. See [Benefit Types](https://docs.gusto.com/embedded-payroll/reference/get-v1-benefits) for more information. - ytd_employee_deduction_amount: - type: string - description: The year-to-date employee deduction made outside the current company. - ytd_company_contribution_amount: - type: string - description: The year-to-date company contribution made outside the current company. - required: - - uuid - - benefit_type - - ytd_employee_deduction_amount - - ytd_company_contribution_amount - Company-Attachment: - description: The company attachment - type: object - x-examples: - Example: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - name: Company_Attachment_File.pdf - category: gep_notice - upload_time: '2024-09-10T01:54:20Z' - x-tags: - - Company Attachment - properties: - uuid: - type: string - description: UUID of the company attachment - name: - type: string - description: name of the file uploaded - category: - type: string - description: The category of the company attachment - enum: - - gep_notice - - compliance - - other - upload_time: - type: string - description: The ISO 8601 timestamp of when an attachment was uploaded - Company-Bank-Account: - description: The company bank account - type: object - x-examples: - Example: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: bank_deposits - name: Employer Funding Account - x-tags: - - Company Bank Accounts - properties: - uuid: - type: string - description: UUID of the bank account - company_uuid: - type: string - description: UUID of the company - account_type: - type: string - description: Bank account type - enum: - - Checking - - Savings - routing_number: - type: string - description: The bank account's routing number - hidden_account_number: - type: string - description: Masked bank account number - verification_status: - type: string - enum: - - awaiting_deposits - - ready_for_verification - - verified - description: |- - The verification status of the bank account. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Admin" + '404': + description: | + Not Found - 'awaiting_deposits' means the bank account is just created and money is being transferred. - 'ready_for_verification' means the micro-deposits are completed and the verification process can begin by using the verify endpoint. - 'verified' means the bank account is verified. - verification_type: - type: string - enum: - - bank_deposits - - plaid - - plaid_external - description: |- - The verification type of the bank account. + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: listAdmins + post: + summary: Create an admin for the company + operationId: post-v1-companies-company_id-admins + security: + - CompanyAccessAuth: [] + description: |- + Creates a new admin for a company. + If the email matches an existing user, this will create an admin account for the current user. Otherwise, this will create a new user. - 'bank_deposits' means the bank account is connected by entering routing and accounting numbers and verifying through micro-deposits. - 'plaid' means the bank account is connected through Plaid. - plaid_status: - type: string - enum: - - connected - - disconnected - description: The Plaid connection status of the bank account. Only applies when verification type is Plaid. - nullable: true - last_cached_balance: - type: string - description: The last fetch balance for the bank account. Please be aware that this amount does not reflect the most up-to-date balance and only applies when the verification type is Plaid. - nullable: true - balance_fetched_date: - type: string - description: The balance fetch date associated with the last_cached_balance. Only applies when verification type is Plaid. - nullable: true - name: - type: string - description: Name of bank account - required: - - uuid - Benefit-Type-Requirements: - description: '' - type: object - x-tags: - - Company Benefits - properties: - employee_deduction: - type: object - description: The amount to be deducted, per pay period, from the employee's pay. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - deduct_as_percentage: - type: object - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - catch_up: + scope: `company_admin:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Admin" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Admin-Create-Request" + required: true + x-speakeasy-name-override: createAdmin + "/v1/benefits": + get: + summary: Get all supported benefits + operationId: get-v1-benefits + security: + - CompanyAccessAuth: [] + description: |- + Returns all benefits supported by Gusto. The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. + + scope: `benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Supported-Benefit" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getAll + "/v1/benefits/{benefit_id}": + get: + summary: Get a supported benefit + operationId: get-v1-benefits-benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a benefit supported by Gusto. The benefit object in Gusto contains high level information about a particular benefit type and its tax considerations. When companies choose to offer a benefit, they are creating a Company Benefit object associated with a particular benefit. + + scope: `benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: benefit_id + in: path + description: The benefit type in Gusto. + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Supported-Benefit" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getSupported + "/v1/benefits/{benefit_id}/requirements": + get: + summary: Get benefit fields requirements by benefit type + operationId: get-v1-benefits-benefits_id-requirements + security: + - CompanyAccessAuth: [] + description: |- + Returns the field requirements for a given benefit type. + + scope: `benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: benefit_id + in: path + description: The benefit type in Gusto. + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Benefit-Type-Requirements" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getRequirements + "/v1/companies/{company_id}": + get: + summary: Get a company + operationId: get-v1-companies + security: + - CompanyAccessAuth: [] + description: |- + Get a company. + + The employees:read scope is required to return home_address and non-work locations. + The company_admin:read scope is required to return primary_payroll_admin. + The signatories:read scope is required to return primary_signatory. + + scope: `companies:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a company + operationId: put-v1-companies + security: + - CompanyAccessAuth: [] + description: |- + Update a company. + + scope: `companies:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - contractor_only + properties: + contractor_only: + type: boolean + description: Whether the company only supports contractors. Must be updated in order for the company to start supporting W-2 employees. Can only be updated from true to false. Note that updating this value will require additional onboarding steps to be completed in order for the company to support W-2 employees. + required: true + x-speakeasy-name-override: update + "/v1/companies/{company_id}/attachments": + get: + summary: Get List of Company Attachments + operationId: get-v1-companies-attachments + security: + - CompanyAccessAuth: [] + description: |- + Retrieve a list of all the attachments uploaded by the company. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:read` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Company-Attachment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyAttachments + x-speakeasy-name-override: getList + post: + summary: Create Company Attachment and Upload File + operationId: post-v1-companies-attachment + security: + - CompanyAccessAuth: [] + description: |- + Upload a file and create a company attachment. We recommend uploading PDF files for optimal compatibility. However, the following file types are allowed: .qbb, .qbm, .gif, .jpg, .png, .pdf, .xls, .xlsx, .doc and .docx. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:write` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Attachment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + multipart/form-data: + schema: + "$ref": "#/components/schemas/Company-Attachment-Create-Request-Body" + required: true + x-speakeasy-group: companyAttachments + x-speakeasy-name-override: create + "/v1/companies/{company_id}/attachments/{company_attachment_uuid}": + get: + summary: Get Company Attachment Details + operationId: get-v1-companies-attachment + security: + - CompanyAccessAuth: [] + description: |- + Retrieve the detail of an attachment uploaded by the company. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:read` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: company_attachment_uuid + in: path + description: The UUID of the company attachment + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Attachment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyAttachments + x-speakeasy-name-override: getDetails + "/v1/companies/{company_id}/attachments/{company_attachment_uuid}/download_url": + get: + summary: Get a temporary url to download the Company Attachment file + operationId: get-v1-companies-attachment-url + security: + - CompanyAccessAuth: [] + description: |- + Retrieve a temporary url to download an attachment file uploaded by the company. + + ### Related guides + - [Manage company attachments](doc:manage-company-attachments) + + scope: `company_attachments:read` + tags: + - Company Attachment + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: company_attachment_uuid + in: path + description: The UUID of the company attachment + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Attachment-Download-Url" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyAttachment + x-speakeasy-name-override: getDownloadUrl + "/v1/companies/{company_id}/bank_accounts": + get: + summary: Get all company bank accounts + operationId: get-v1-companies-company_id-bank-accounts + security: + - CompanyAccessAuth: [] + description: |- + Returns company bank accounts. Currently, we only support a single default bank account per company. + + scope: `company_bank_accounts:read` + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: get + post: + summary: Create a company bank account + operationId: post-v1-companies-company_id-bank-accounts + security: + - CompanyAccessAuth: [] + description: "This endpoint creates a new company bank account.\n\nUpon being created, two verification deposits are automatically sent to the bank account, and the bank account's verification_status is 'awaiting_deposits'.\n\nWhen the deposits are successfully transferred, the verification_status changes to 'ready_for_verification', at which point the verify endpoint can be used to verify the bank account.\nAfter successful verification, the bank account's verification_status is 'verified'.\n\n\n>\U0001F6A7 Warning\n>\n> If a default bank account exists, it will be disabled and the new bank account will replace it as the company's default funding method.\n\nscope: `company_bank_accounts:write`" + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Bank account unchanged + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: Invalid Attribute + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account-Request" + required: true + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: create + "/v1/companies/{company_id}/bank_accounts/{bank_account_id}": + delete: + summary: Delete a company bank account + operationId: delete-v1-companies-company_id-bank-accounts-bank_account_id + security: + - CompanyAccessAuth: [] + description: |- + This endpoint disables a company bank account. + + A bank account cannot be disabled if it is used for any unprocessed payments. + + scope: `company_bank_accounts:write` + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: bank_account_id + in: path + description: The UUID of the company bank account + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: Cannot delete bank account with unfunded payments + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/companies/{company_id}/bank_accounts/{bank_account_uuid}/verify": + put: + summary: Verify a company bank account + operationId: put-v1-companies-company_id-bank-accounts-verify + security: + - CompanyAccessAuth: [] + description: |- + Verify a company bank account by confirming the two micro-deposits sent to the bank account. + + Note that the order of the two deposits specified in request parameters does not matter. + There's a maximum of 5 verification attempts, after which we will automatically initiate a new set of micro-deposits and require the bank account to be verified with the new micro-deposits. + + ### Bank account verification in demo + In the demo environment, use the `POST /v1/companies/{company_id}/bank_accounts/{bank_account_uuid}/send_test_deposits` endpoint to simulate the micro-deposits transfer and return the two amounts in the response. You can call this endpoint as many times as you wish to retrieve the values of the two micro-deposits. + + ### Webhooks + - `company.bank_account.verified`: Fires when the company bank account is successfully verified. + + ### Related guides + - [Manage company bank accounts](doc:manage-company-bank-accounts) + - [Bank Account Events](doc:bank-account-events) + + scope: `company_bank_accounts:write` + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: bank_account_uuid + in: path + description: The UUID of the company bank account + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account-Verify-Request" + required: true + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: verify + "/v1/companies/{company_id}/company_benefits": + get: + summary: Get benefits for a company + operationId: get-v1-companies-company_id-company_benefits + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: active + in: query + required: false + description: Whether the benefit is currently active + schema: + type: boolean + - name: enrollment_count + in: query + required: false + description: Whether to return employee enrollment count + schema: + type: boolean + - name: benefit_type + in: query + required: false + description: Filter by benefit type. Comma-separated list of benefit type IDs, i.e. `?benefit_type=5,105` + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Company-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: list + post: + summary: Create a company benefit + operationId: post-v1-companies-company_id-company_benefits + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only create company benefits for benefit types that are permitted for the application. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit-Create-Request" + required: true + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: create + "/v1/company_benefits/{company_benefit_id}": + get: + summary: Get a company benefit + operationId: get-v1-company_benefits-company_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + When with_employee_benefits parameter with true value is passed, employee_benefits:read scope is required to return employee_benefits. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + - name: with_employee_benefits + in: query + required: false + description: Whether to return employee benefits associated with the benefit + schema: + type: boolean + - name: include + in: query + required: false + schema: + type: string + enum: + - all_benefits + description: |- + Available options: + - all_benefits: If with_employee_benefits=true, include all effective dated benefits for each employee instead of only the current benefits. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit-With-Employee-Benefits" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: get + put: + summary: Update a company benefit + operationId: put-v1-company_benefits-company_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Company benefits represent the benefits that a company is offering to employees. This ties together a particular supported benefit with the company-specific information for the offering of that benefit. + + Note that company benefits can be deactivated only when no employees are enrolled. + + When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only update company benefits for benefit types that are permitted for the application. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Benefit-Update-Request" + required: true + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: update + delete: + summary: Delete a company benefit + operationId: delete-v1-company_benefits-company_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + The following must be true in order to delete a company benefit + + - There are no employee benefits associated with the company benefit + - There are no payroll items associated with the company benefit + - The benefit is not managed by a Partner or by Gusto (type must be 'External') + + When the application has the `company_benefits:write:benefit_type_limited` data scope, the application can only delete company benefits for benefit types that are permitted for the application. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + x-speakeasy-group: companyBenefits + "/v1/company_benefits/{company_benefit_id}/contribution_exclusions": + get: + summary: Get contribution exclusions for a company benefit + operationId: get-v1-company_benefits-company_benefit_id-contribution_exclusions + security: + - CompanyAccessAuth: [] + description: |- + Returns all contributions for a given company benefit and whether they are excluded or not. + + Currently this endpoint only works for 401-k and Roth 401-k benefit types. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contribution-Exclusion" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update contribution exclusions for a company benefit + operationId: put-v1-company_benefits-company_benefit_id-contribution_exclusions + security: + - CompanyAccessAuth: [] + description: |- + Updates contribution exclusions for a given company benefit. + + Currently this endpoint only works for 401-k and Roth 401-k benefit types. + + scope: `company_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contribution-Exclusion" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contribution-Exclusion-Update-Request" + required: true + "/v1/company_benefits/{company_benefit_id}/employee_benefits": + get: + summary: Get all employee benefits for a company benefit + operationId: get-v1-company_benefits-company_benefit_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + Returns an array of all employee benefits enrolled for this company benefit. + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + scope: `employee_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_benefits + description: |- + Available options: + - all_benefits: Include all effective dated benefits for each employee instead of only the current benefits. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getEmployeeBenefits + x-speakeasy-group: companyBenefits + put: + summary: Bulk update employee benefits for a company benefit + operationId: put-v1-company_benefits-company_benefit_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + Create or update(if the employee is already enrolled in the company benefit previously) an employee benefit for the company benefit. + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only create or update employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit-Bulk-Update-Request" + required: true + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: updateEmployeeBenefits + "/v1/company_benefits/{company_benefit_id}/summary": + get: + summary: Get company benefit summary by company benefit id. + operationId: get-v1-benefits-company_benefit_id-summary + security: + - CompanyAccessAuth: [] + description: |- + Returns summary benefit data for the requested company benefit id. + + Benefits containing PHI are only visible to applications with the `company_benefits:read:phi` scope. + + scope: `company_benefits:read` + tags: + - Company Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_benefit_id + in: path + description: The UUID of the company benefit + required: true + schema: + type: string + - name: start_date + in: query + required: false + description: The start date for which to retrieve company benefit summary + example: '2022-01-01' + schema: + type: string + - name: end_date + in: query + required: false + description: The end date for which to retrieve company benefit summary. If left empty, defaults to today's date. + example: '2022-12-31' + schema: + type: string + - name: detailed + in: query + required: false + description: Display employee payroll item summary + schema: + type: boolean + x-gusto-rswag: true + responses: + '200': + description: Benefit summary response + content: + application/json: + schema: + "$ref": "#/components/schemas/Benefit-Summary" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyBenefits + x-speakeasy-name-override: getSummary + "/v1/companies/{company_id}/custom_fields": + get: + summary: Get the custom fields of a company + operationId: get-v1-companies-company_id-custom_fields + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of the custom fields of the company. Useful when you need to know the schema of custom fields for an entire company. + + scope: `companies:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Custom-Field-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getCustomFields + "/v1/companies/{company_id}/forms": + get: + summary: Get all company forms + operationId: get-v1-company-forms + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all company's forms + + ### Related guides + - [Company Forms](doc:company-form) + + scope: `company_forms:read` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(created_at|name|year|quarter|draft|document_content_type)(:(asc|desc))?(,(created_at|name|year|quarter|draft|document_content_type)(:(asc|desc))?)*$" + example: created_at:asc + description: 'Sort by one or more fields. Options: created_at, name, year, quarter, draft, document_content_type. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.' + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getAll + x-speakeasy-group: companyForms + "/v1/forms/{form_id}": + get: + summary: Get a company form + operationId: get-v1-company-form + security: + - CompanyAccessAuth: [] + description: |- + Get a company form + + scope: `company_forms:read` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companyForms + x-speakeasy-name-override: get + "/v1/forms/{form_id}/pdf": + get: + summary: Get a company form pdf + operationId: get-v1-company-form-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the link to the form PDF + + scope: `company_forms:read` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form-Pdf" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getPdf + x-speakeasy-group: companyForms + "/v1/forms/{form_id}/sign": + put: + summary: Sign a company form + operationId: put-v1-company-form-sign + security: + - CompanyAccessAuth: [] + description: |- + Sign a company form. Company forms must be signed by the company signatory. + + scope: `company_forms:sign` + tags: + - Company Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + signature_text: + type: string + description: The signature + agree: + type: boolean + description: Whether you agree to sign electronically + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + required: + - signature_text + - agree + required: true + x-speakeasy-group: companyForms + x-speakeasy-name-override: sign + "/v1/companies/{company_id}/industry_selection": + get: + summary: Get a company industry selection + operationId: get-v1-company-industry + security: + - CompanyAccessAuth: [] + description: |- + Returns the industry classification for a company, including NAICS code, SIC codes, and industry title. + + scope: `companies:read` + tags: + - Industry Selection + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Industry" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: industrySelection + x-speakeasy-name-override: get + put: + summary: Update a company industry selection + operationId: put-v1-company-industry + security: + - CompanyAccessAuth: [] + description: |- + Update the industry classification for a company by passing in a [NAICS code](https://www.naics.com). + + Optionally provide an industry title and [SIC codes](https://siccode.com/). If you do not provide SIC codes, + we will use the NAICS code to perform an internal lookup. + + Our UI leverages [Middesk API](https://docs.middesk.com/reference/introduction) to determine industry + classification codes. + + scope: `companies:write` + tags: + - Industry Selection + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Industry" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Industry-Selection-Required-Body" + required: true + x-speakeasy-group: industrySelection + x-speakeasy-name-override: update + "/v1/companies/{company_uuid}/notifications": + get: + summary: Get notifications for company + operationId: get-company-notifications + security: + - CompanyAccessAuth: [] + description: |- + Returns all notifications relevant for the given company. + + scope: `notifications:read` + tags: + - Notifications + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_uuid + in: path + description: The UUID of the company for which you would like to return notifications + required: true + schema: + type: string + - name: status + in: query + schema: + type: string + enum: + - open + - expired + - resolved + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Notifications-List" + "/v1/companies/{company_uuid}/onboarding_status": + get: + summary: Get company onboarding status + operationId: get-v1-company-onboarding-status + security: + - CompanyAccessAuth: [] + description: |- + Retrieves a company's onboarding status, including whether onboarding is complete and the list of + required onboarding steps with their respective completion state. + + scope: `company_onboarding_status:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: additional_steps + in: query + required: false + example: external_payroll + description: Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Onboarding-Status" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getOnboardingStatus + "/v1/companies/{company_uuid}/finish_onboarding": + put: + summary: Finish company onboarding + operationId: get-v1-company-finish-onboarding + security: + - CompanyAccessAuth: [] + description: |- + Finalize a company's onboarding process. + + ### Approve a company in demo + + After a company is finished onboarding, Gusto requires an additional step to review and approve that company. + The company onboarding status is "onboarding_completed": false, until the API call is made to finish company + onboarding. In production environments, this step is required for risk-analysis purposes. + + We provide the endpoint `PUT '/v1/companies/{company_uuid}/approve'` to facilitate company approvals in the demo environment. + + ```shell + PUT '/v1/companies/89771af8-b964-472e-8064-554dfbcb56d9/approve' + + # Response: Company object, with company_status: 'Approved' + ``` + + scope: `companies:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Onboarding-Status" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: finishOnboarding + "/v1/companies/{company_uuid}/payment_configs": + get: + summary: Get a company's payment configs + operationId: get-v1-company-payment-configs + security: + - CompanyAccessAuth: [] + description: |- + Get payment speed configurations for the company: payment speed (1-day, 2-day, or 4-day ACH), fast payment limit, partner-owned disbursement setting, and earned fast ACH blockers when applicable. 1-day is only available to partners that opt in. + + ### Related guides + - [Payroll Processing Speeds](doc:2-day-vs-4-day) + + scope: `company_payment_configs:read` + tags: + - Payment Configs + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payment-Configs" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: paymentConfigs + put: + summary: Update a company's payment configs + operationId: put-v1-company-payment-configs + security: + - CompanyAccessAuth: [] + description: |- + Update payment speed, fast payment limit, and/or partner-owned disbursement for a company. + + At least one of `payment_speed`, `fast_payment_limit`, or `partner_owned_disbursement` is required. + 1-day payment speed is only applicable to partners that opt in. 1-day is not allowed when AutoPilot is enabled. + + ### Related guides + - [Payroll Processing Speeds](doc:2-day-vs-4-day) + + scope: `company_payment_configs:write` + tags: + - Payment Configs + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payment-Configs" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payment-Configs-Update-Request" + required: true + x-speakeasy-group: paymentConfigs + x-speakeasy-name-override: update + "/v1/companies/{company_uuid}/suspensions": + get: + summary: Get suspensions for this company + operationId: get-companies-company_uuid-suspensions + security: + - CompanyAccessAuth: [] + description: "Get existing suspension records for this company. A company may have multiple suspension records if they have suspended their Gusto account more than once.\n\n>\U0001F4D8 To check if company is already suspended\n>\n> To determine if a company is _currently_ suspended, use the `is_suspended` and `company_status` fields in the [Get a company](https://docs.gusto.com/embedded-payroll/reference/get-v1-companies) endpoint.\n\nscope: `company_suspensions:read`" + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Suspension-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: companies.suspensions + x-speakeasy-name-override: get + post: + summary: Suspend a company's account + operationId: post-companies-company_uuid-suspensions + security: + - CompanyAccessAuth: [] + description: |- + Use this endpoint to suspend a company. After suspension, company will no longer be able to run payroll but will retain access to their information, such as retrieving employee info or retrieving past payrolls. + + scope: `company_suspensions:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Suspension" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Suspension-Creation-Errors" + requestBody: + content: + application/json: + schema: + type: object + required: + - file_quarterly_forms + - file_yearly_forms + - reconcile_tax_method + - reason + properties: + file_quarterly_forms: + type: boolean + description: Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. + file_yearly_forms: + type: boolean + description: Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. + reconcile_tax_method: + type: string + enum: + - pay_taxes + - refund_taxes + description: How Gusto will handle taxes already collected. + comments: + type: string + description: User-supplied comments describing why they are suspending their account. Required if the user is leaving for another provider and selects "other" instead of a defined provider. + reason: + type: string + enum: + - switching_provider + - shutting_down + - acquired + - no_more_employees + - changing_ein_or_entity_type + description: "Explanation for why the company is suspending their account.\n\n> \U0001F6A7 FEIN or entity type changes require Customer Support\n> If a company is switching FEIN or changing their entity type, this change must be performed by Gusto Customer Support and cannot be performed via the API at this time.\n" + leaving_for: + type: string + enum: + - accountant + - adp + - adp_total_source + - bamboo_hr + - bank_or_financial_institution + - check + - deel + - gusto_com + - homebase + - insperity + - intuit_or_quickbooks + - justworks + - manual + - namely + - onpay + - other + - oyster + - patriot + - paychex + - paycom + - paylocity + - remote + - rippling + - square + - surepayroll + - trinet + - velocity_global + - zenefits + description: "The competitor the company is switching to. Required if `reason` is `'switching_provider'`.\n\n> \U0001F6A7 Switching to Gusto requires Customer Support\n> If `'gusto_com'` is selected, this change must be completed by Gusto Customer Support and cannot be performed via the API. This endpoint will return a 422 error in that case.\n" + required: true + x-speakeasy-group: companies.suspensions + x-speakeasy-name-override: suspend + "/v1/companies/{company_uuid}/tax_requirements": + get: + summary: Get all tax requirements for a company + operationId: get-v1-companies-company_uuid-tax_requirements + security: + - CompanyAccessAuth: [] + description: |- + Retrieves all states for which a company has tax requirements, along with a boolean indicating whether tax setup + is complete for each state. Use this to determine which states still need tax setup during company onboarding. + + scope: `company_tax_requirements:read` + tags: + - Tax Requirements + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Tax-Requirement-States-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: taxRequirements + x-speakeasy-name-override: getAll + "/v1/companies/{company_uuid}/tax_requirements/{state}": + get: + summary: Get tax requirements for a state + operationId: get-v1-companies-company_uuid-tax_requirements-state + security: + - CompanyAccessAuth: [] + description: |- + Retrieves the detailed tax requirements for a specific state. The response includes requirement sets grouped by + category (e.g., registrations, tax rates, deposit schedules), each containing individual requirements with their + current values, labels, and metadata describing the expected input format. + + Use this to build dynamic UIs for tax setup or to read the current tax configuration for a state. + + scope: `company_tax_requirements:read` + tags: + - Tax Requirements + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: state + in: path + required: true + description: The two-letter state abbreviation + example: CA + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: scheduling + in: query + required: false + description: When true, return "new" requirement sets with valid `effective_from` dates that are available to save new effective-dated values. + schema: + type: boolean + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Tax-Requirements-State" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: taxRequirements + x-speakeasy-name-override: get + put: + summary: Update tax requirements for a state + operationId: put-v1-companies-company_uuid-tax_requirements-state + security: + - CompanyAccessAuth: [] + description: |- + Updates the tax requirement answers for a specific state. Submit answers to the requirement questions returned + by [GET /v1/companies/{company_uuid}/tax_requirements/{state}](ref:get-v1-companies-company_uuid-tax_requirements-state). + + ### Prerequisites + + 1. Retrieve current requirements via [GET /v1/companies/{company_uuid}/tax_requirements/{state}](ref:get-v1-companies-company_uuid-tax_requirements-state) + 2. Ensure that each requirement set that you're updating includes the correct `key`, `state`, and `effective_from` values from the GET response + + scope: `company_tax_requirements:write` + tags: + - Tax Requirements + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: state + in: path + required: true + description: The two-letter state abbreviation + example: CA + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + requirement_sets: + "$ref": "#/components/schemas/Tax-Requirement-Set-Update" + required: true + x-speakeasy-group: taxRequirements + x-speakeasy-name-override: updateState + "/v1/companies/{company_id}/federal_tax_details": + get: + summary: Get a company's federal tax details + operationId: get-v1-companies-company_id-federal_tax_details + security: + - CompanyAccessAuth: [] + description: |- + Retrieves a company's federal tax details including EIN verification status, tax payer type, filing form, and other federal tax configuration. + + scope: `company_federal_taxes:read` + tags: + - Federal Tax Details + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Federal-Tax-Details" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: federalTaxDetails + x-speakeasy-name-override: get + put: + summary: Update a company's federal tax details + operationId: put-v1-companies-company_id-federal_tax_details + security: + - CompanyAccessAuth: [] + description: |- + Updates a company's federal tax details including EIN, legal name, tax payer type, filing form, and S-Corp + taxation status. This information is required to onboard a company for use with Gusto Embedded Payroll. + + ### Prerequisites + Before calling this endpoint, retrieve the current federal tax details and `version` via [GET /v1/companies/{company_id}/federal_tax_details](ref:get-v1-companies-company_id-federal_tax_details) + + ### Webhooks + - `company.updated`: Fires when federal tax details for a company are successfully updated + + **Setup:** [POST /v1/webhook_subscriptions](ref:post-v1-webhook-subscription) with `subscription_types`: `["Company"]` + + scope: `company_federal_taxes:write` + tags: + - Federal Tax Details + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Federal-Tax-Details" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Federal-Tax-Details-Update" + required: true + x-speakeasy-group: federalTaxDetails + x-speakeasy-name-override: update + "/v1/jobs/{job_id}/compensations": + get: + summary: Get compensations for a job + operationId: get-v1-jobs-job_id-compensations + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. + + *Note: Currently the API does not support creating multiple compensations per job - creating a compensation with the same job_uuid as another will fail with a relevant error.* + + Use `flsa_status` to determine if an employee is eligible for overtime + By default the API returns only the current compensation - use the `include` parameter to return all compensations. + + scope: `compensations:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_compensations + description: | + Available options: + - all_compensations: Include all effective dated compensations for each job instead of only the current compensation + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getCompensations + x-speakeasy-group: jobsAndCompensations + post: + summary: Create a compensation + operationId: post-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. + + ### Prerequisites + Before calling this endpoint: + 1. A [job](ref:post-v1-jobs-job_id) must exist for the employee + + ### Webhooks + - `employee_job_compensation.created`: Fires when a compensation is successfully created + + scope: `compensations:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensations-Request-Body" + required: true + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: createCompensation + "/v1/compensations/{compensation_id}": + get: + summary: Get a compensation + operationId: get-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. + + scope: `compensations:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: compensation_id + in: path + description: The UUID of the compensation + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: getCompensation + put: + summary: Update a compensation + operationId: put-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. + + ### Webhooks + - `employee_job_compensation.updated`: Fires when a compensation is successfully updated + + scope: `compensations:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: compensation_id + in: path + description: The UUID of the compensation + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensation" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Compensations-Update-Request-Body" + required: true + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: updateCompensation + delete: + summary: Delete a compensation + operationId: delete-v1-compensations-compensation_id + security: + - CompanyAccessAuth: [] + description: |- + Compensations contain information on how much is paid out for a job. Jobs may have many compensations, but only one that is active. The current compensation is the one with the most recent `effective_date`. This endpoint deletes a compensation for a job that hasn't been processed on payroll. + + ### Webhooks + - `employee_job_compensation.destroyed`: Fires when a compensation is successfully deleted + + scope: `compensations:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: compensation_id + in: path + description: The UUID of the compensation + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: deleteCompensation + "/v1/contractors/{contractor_uuid}/bank_accounts": + get: + summary: Get all contractor bank accounts + operationId: get-v1-contractors-contractor_uuid-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Returns all contractor bank accounts. + + scope: `contractor_payment_methods:read` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Bank-Account-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getBankAccounts + x-speakeasy-group: contractorPaymentMethod + post: + summary: Create a contractor bank account + operationId: post-v1-contractors-contractor_uuid-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Creates a contractor bank account. + + Note: We currently only support one bank account per contractor. Using this endpoint on a contractor who already has a bank account will just replace it. + + scope: `contractor_payment_methods:write` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Bank-Account-Create-Request-Body" + required: true + x-speakeasy-group: contractorPaymentMethods + x-speakeasy-name-override: createBankAccount + "/v1/contractors/{contractor_uuid}/forms": + get: + summary: Get all contractor forms + operationId: get-v1-contractor-forms + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all contractor's forms + + scope: `contractor_forms:read` + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Form_1099" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorForms + x-speakeasy-name-override: list + "/v1/contractors/{contractor_uuid}/forms/{form_id}": + get: + summary: Get a contractor form + operationId: get-v1-contractor-form + security: + - CompanyAccessAuth: [] + description: |- + Get a contractor form + + scope: `contractor_forms:read` + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Form_1099" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorForms + x-speakeasy-name-override: get + "/v1/contractors/{contractor_uuid}/forms/{form_id}/pdf": + get: + summary: Get the contractor form pdf + operationId: get-v1-contractor-form-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the link to the form PDF + + scope: `contractor_forms:read` + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Form-Pdf" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorForms + x-speakeasy-name-override: getPdf + "/v1/contractors/{contractor_uuid}/address": + get: + summary: Get a contractor address + operationId: get-v1-contractors-contractor_uuid-address + security: + - CompanyAccessAuth: [] + tags: + - Contractors + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + description: |- + The address of a contractor is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + scope: `contractors:read` + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Address" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getAddress + put: + summary: Create or update a contractor's address + operationId: put-v1-contractors-contractor_uuid-address + security: + - CompanyAccessAuth: [] + tags: + - Contractors + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + description: "The address of a contractor is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity.\n\n> \U0001F6A7 Contractors can only have one address.\n>\n> When a contractor is created, an address is created for them by default. Updating the address will replace the existing address.\n\nscope: `contractors:write`" + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Address" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Address-Update-Body" + required: true + x-speakeasy-name-override: updateAddress + "/v1/companies/{company_id}/contractors/payment_details": + get: + summary: List contractor payment details + operationId: get-v1-companies-company_id-contractors-payment_details + security: + - CompanyAccessAuth: [] + description: |- + Get payment details for contractors in a company. This endpoint returns a list of all contractors + associated with the specified company, including their payment methods and bank account details + if they are paid via direct deposit. + + For contractors paid by direct deposit, the response includes their bank account information + with sensitive data masked for security. The payment details also include information about + how their payments are split if they have multiple bank accounts configured. + + For contractors paid by check, only the basic payment method information is returned. + + ### Response Details + - For direct deposit contractors: + - Bank account details (masked) + - Payment splits configuration + - Routing numbers + - Account types + - For check payments: + - Basic payment method designation + + ### Common Use Cases + - Fetching contractor payment information for payroll processing + - Verifying contractor payment methods + - Reviewing payment split configurations + + `encrypted_account_number` is available only with the additional scope `contractor_payment_methods:read:account_numbers`. + + scope: `contractor_payment_methods:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_id + in: path + description: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + required: true + schema: + type: string + - name: contractor_uuid + in: query + required: false + description: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. + schema: + type: string + - name: contractor_payment_group_uuid + in: query + required: false + description: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Details-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_id}/contractor_payment_groups/preview": + post: + summary: Preview a contractor payment group + operationId: post-v1-companies-company_id-contractor_payment_groups-preview + security: + - CompanyAccessAuth: [] + description: |- + Preview a group of contractor payments. Request will validate inputs and return preview of the contractor payment group including the expected `debit_date`. The `uuid` field will be null in the response. + + The returned `creation_token` is a required parameter in order to create the contractor payment group. + + scope: `payrolls:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Full contractor payment group object with null uuid + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - contractor_payments + properties: + contractor_payments: + type: array + items: type: object - description: Whether the employee should use a benefit’s 'catch up' rate. Only Roth 401k and 401k benefits use this value for employees over 50. properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - limit_option: + contractor_uuid: + type: string + description: The contractor receiving the payment + payment_method: + type: string + enum: + - Direct Deposit + - Check + - Historical Payment + default: Direct Deposit + wage: + type: string + format: float + description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked + example: '5000.0' + hours: + type: string + format: float + example: '40.0' + description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment + bonus: + type: string + format: float + example: '500.0' + description: If the contractor is on an hourly wage, this is the bonus the contractor earned + reimbursement: + type: string + format: float + example: '20.0' + description: Reimbursed wages for the contractor + invoice_number: + type: string + maxLength: 25 + example: INV-001 + description: An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. + memo: + type: string + example: Payment for consulting services + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + check_date: + type: string + format: date + description: Date when payments should be processed + required: true + x-speakeasy-group: contractorPaymentGroups + x-speakeasy-name-override: preview + "/v1/contractor_payment_groups/{contractor_payment_group_uuid}/fund": + put: + summary: Fund a contractor payment group [DEMO] + operationId: put-v1-contractor_payment_groups-contractor_payment_group_id-fund + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n> This action is only available in the Demo environment\n\nSimulate funding a contractor payment group. Funding only occurs automatically in the production environment when bank transactions are generated. Use this action in the demo environment to transition a contractor payment group's `status` from `Unfunded` to `Funded`. A `Funded` status is required for generating a contractor payment receipt.\n\nscope: `payrolls:run`" + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: contractor_payment_group_uuid + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Full contractor payment group object + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group" + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: fund + x-speakeasy-group: contractorPaymentGroups + "/v1/companies/{company_id}/contractor_payment_groups": + get: + summary: Get contractor payment groups for a company + operationId: get-v1-companies-company_id-contractor_payment_groups + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of minimal contractor payment groups within a given time period, including totals but not associated contractor payments. + + scope: `payrolls:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: start_date + in: query + required: false + description: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. + example: '2020-01-01' + schema: + type: string + - name: end_date + in: query + required: false + description: The time period for which to retrieve contractor payment groups. Defaults to today's date. + example: '2020-12-31' + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: List of Contractor Payment Groups + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contractor-Payment-Group-With-Blockers" + '404': + description: | + Not Found + + The requested company does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getList + x-speakeasy-group: contractorPaymentGroups + post: + summary: Create a contractor payment group + operationId: post-v1-companies-company_id-contractor_payment_groups + security: + - CompanyAccessAuth: [] + description: |- + Pay a group of contractors. Information needed depends on the contractor's wage type (hourly vs fixed) + + scope: `payrolls:run` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Full contractor payment group object + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested company does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - check_date + - contractor_payments + - creation_token + properties: + check_date: + type: string + format: date + description: The payment check date + example: '2020-01-01' + creation_token: + type: string + description: A token used to make contractor payment group creation idempotent. The string must be unique for each group you intend to create. + example: 1d532d13-8f61-4a57-ad3c-b5fac1c6e05e + submission_blockers: + type: array + description: Optional array of submission blockers with selected unblock options. Returned from the preview endpoint and can be submitted with selected_option to resolve blockers. + items: type: object - description: Some benefits require additional information to determine their limit. For example, for an HSA benefit, the limit option should be either 'Family' or 'Individual'. For a Dependent Care FSA benefit, the limit option should be either 'Joint Filing or Single' or 'Married and Filing Separately'. properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - company_contribution_annual_maximum: + blocker_type: + type: string + description: The type of blocker that is blocking the payment submission + selected_option: + type: + - string + - 'null' + description: The unblock option selected to resolve the submission blocker + message: + type: string + description: Optional message related to the blocker + options: + type: array + description: Optional array of additional options for the blocker + items: + type: object + properties: + type: + type: string + description: The type of option + message: + type: string + description: Message for the option + contractor_payments: + type: array + items: type: object - description: The maximum company contribution amount per year. A null value signifies no limit. properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - coverage_salary_multiplier: + contractor_uuid: + type: string + description: The contractor receiving the payment + payment_method: + type: string + enum: + - Direct Deposit + - Check + - Historical Payment + default: Direct Deposit + wage: + type: string + format: float + description: If the contractor is on a fixed wage, this is the fixed wage payment for the contractor, regardless of hours worked + example: '5000.0' + hours: + type: string + format: float + example: '40.0' + description: If the contractor is on an hourly wage, this is the number of hours that the contractor worked for the payment + bonus: + type: string + format: float + example: '500.0' + description: If the contractor is on an hourly wage, this is the bonus the contractor earned + reimbursement: + type: string + format: float + example: '20.0' + description: Reimbursed wages for the contractor + invoice_number: + type: string + maxLength: 25 + example: INV-001 + description: An optional invoice number to associate with this contractor payment. This will be visible to the contractor on their paystub. + memo: + type: string + example: Payment for consulting services + description: An optional note or memo for this contractor payment. This will be visible to the contractor on their paystub. + required: true + x-speakeasy-group: contractorPaymentGroups + x-speakeasy-name-override: create + "/v1/contractor_payment_groups/{contractor_payment_group_uuid}": + get: + summary: Get a contractor payment group + operationId: get-v1-contractor_payment_groups-contractor_payment_group_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a contractor payment group with all associated contractor payments. + + scope: `payrolls:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: contractor_payment_group_uuid + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group" + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorPaymentGroups + x-speakeasy-name-override: get + delete: + summary: Cancel a contractor payment group + operationId: delete-v1-contractor_payment_groups-contractor_payment_group_id + security: + - CompanyAccessAuth: [] + description: |- + Cancels a contractor payment group and all associated contractor payments. All contractor payments must be cancellable, unfunded. + + scope: `payrolls:run` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: contractor_payment_group_uuid + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: Successfully cancelled + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when trying to cancel a payment group that is not in a cancellable state, such as one that has already been funded or processed. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + x-speakeasy-group: contractorPaymentGroups + "/v1/contractor_payment_groups/{id}/partner_disbursements": + get: + summary: Get partner disbursements for a contractor payment group + operationId: get-v1-contractor_payment_groups-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Get partner disbursements for a specific contractor payment group. + + scope: `partner_disbursements:read` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: id + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group-Partner-Disbursements" + '404': + description: | + Not Found + + The requested contractor payment group does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + patch: + summary: Update partner disbursements for a contractor payment group + operationId: patch-v1-contractor_payment_groups-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Update partner disbursements for a specific contractor payment group. + + scope: `partner_disbursements:write` + tags: + - Contractor Payment Groups + x-gusto-integration-type: + - embedded + parameters: + - name: id + in: path + required: true + description: The UUID of the contractor payment group + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Group-Partner-Disbursements" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + disbursements: + type: array + items: type: object - description: 'The coverage amount as a multiple of the employee''s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - coverage_amount: + contractor_payment_uuid: + type: string + description: UUID of the contractor payment + example: 9f8e7d6c-5b4a-3928-1c2d-3e4f5a6b7c8d + payment_method: + type: string + enum: + - Direct Deposit + - Check + description: Payment method for the contractor + payment_status: + type: string + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + description: Status of the payment disbursement + required: + - contractor_payment_uuid + required: + - disbursements + "/v1/contractors/{contractor_uuid}/payment_method": + get: + summary: Get a contractor's payment method + operationId: get-v1-contractors-contractor_uuid-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Fetches a contractor's payment method. A contractor payment method + describes how the payment should be split across the contractor's associated + bank accounts. + + scope: `contractor_payment_methods:read` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorPaymentMethod + x-speakeasy-name-override: get + put: + summary: Update a contractor's payment method + operationId: put-v1-contractors-contractor_id-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Updates a contractor's payment method. Note that creating a contractor + bank account will also update the contractor's payment method. + + scope: `contractor_payment_methods:write` + tags: + - Contractor Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Conflict-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - version + - type + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. + example: 63859768485e218ccf8a449bb60f14ed + type: + type: string + enum: + - Direct Deposit + - Check + description: The payment method type. If type is Direct Deposit, the contractor is required to have a bank account. See [Bank account endpoint](./post-v1-contractors-contractor_uuid-bank_accounts). + required: true + x-speakeasy-group: contractorPaymentMethod + x-speakeasy-name-override: update + "/v1/companies/{company_id}/contractor_payments": + get: + summary: Get contractor payments for a company + operationId: get-v1-companies-company_id-contractor_payments + security: + - CompanyAccessAuth: [] + description: |- + Returns an object containing individual contractor payments, within a given time period, including totals. + + Results are returned in reverse chronological order (newest first). + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: start_date + in: query + required: true + description: The time period for which to retrieve contractor payments + example: '2020-01-01' + schema: + type: string + - name: end_date + in: query + required: true + description: The time period for which to retrieve contractor payments. If left empty, defaults to today's date. + example: '2020-12-31' + schema: + type: string + - name: contractor_uuid + in: query + required: false + description: The UUID of the contractor. When specified, will load all payments for that contractor. + schema: + type: string + - name: group_by_date + in: query + required: false + description: Display contractor payments results group by check date if set to true. + schema: + type: boolean + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: A JSON object containing contractor payments information + content: + application/json: + schema: + anyOf: + - "$ref": "#/components/schemas/Contractor-Payment-Summary" + - "$ref": "#/components/schemas/Contractor-Payment-Summary-By-Dates" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: list + post: + summary: Create a contractor payment + operationId: post-v1-companies-company_id-contractor_payments + security: + - CompanyAccessAuth: [] + description: |- + Pay a contractor. Information needed depends on the contractor's wage type (hourly vs fixed) + + scope: `payrolls:run` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Body" + required: true + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: create + "/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}": + get: + summary: Get a single contractor payment + operationId: get-v1-companies-company_id-contractor_payment-contractor-payment + security: + - CompanyAccessAuth: [] + description: |- + Returns a single contractor payment. + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: contractor_payment_id + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: contractorPayments + delete: + summary: Cancel a contractor payment + operationId: delete-v1-companies-company_id-contractor_payment-contractor-payment + security: + - CompanyAccessAuth: [] + description: |- + Cancels and deletes a contractor payment. If the contractor payment has already started processing ("may_cancel": true), the payment cannot be cancelled. + + scope: `payrolls:run` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: contractor_payment_id + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/contractor_payments/preview": + get: + summary: Preview contractor payment debit date + operationId: get-companies-company_uuid-contractor_payments-preview + security: + - CompanyAccessAuth: [] + description: |- + Returns a debit_date dependent on the ACH payment speed of the company. + + If the payment method is Check or Historical payment, the debit_date will be the same as the check_date. + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payments-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payments-Preview-Body" + required: true + x-speakeasy-name-override: preview + x-speakeasy-group: contractorPayments + "/v1/contractor_payments/{contractor_payment_uuid}/receipt": + get: + summary: Get a single contractor payment receipt + operationId: get-v1-contractor_payments-contractor_payment_uuid-receipt + security: + - CompanyAccessAuth: [] + description: |- + Returns a contractor payment receipt. + + Notes: + * Receipts are only available for direct deposit payments and are only available once those payments have been funded. + * Payroll Receipt requests for payrolls which do not have receipts available (e.g. payment by check) will return a 404 status. + * Hour and dollar amounts are returned as string representations of numeric decimals. + * Dollar amounts are represented to the cent. + * If no data has yet be inserted for a given field, it defaults to “0.00” (for fixed amounts). + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_uuid + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment-Receipt" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getReceipt + x-speakeasy-group: contractorPayments + "/v1/contractor_payments/{contractor_payment_uuid}/fund": + put: + summary: Fund a contractor payment [DEMO] + operationId: get-v1-contractor_payments-contractor_payment_uuid-fund + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n>\n> This action is only available in the Demo environment\n\nSimulate funding a contractor payment. Funding only occurs automatically in the production environment when bank transactions are generated. Use this action in the demo environment to transition a contractor payment's `status` from `Unfunded` to `Funded`. A `Funded` status is required for generating a contractor payment receipt.\n\nscope: `payrolls:run`" + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_uuid + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Payment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: contractorPayments + x-speakeasy-name-override: fund + "/v1/contractor_payments/{contractor_payment_id}/pdf": + get: + summary: Get a contractor payment PDF + operationId: get-v1-contractor_payments-contractor_payment_id-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get a PDF document for a single contractor payment. + + scope: `payrolls:read` + tags: + - Contractor Payments + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_payment_id + in: path + required: true + description: The UUID of the contractor payment + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: A PDF document of the contractor payment + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided ID/UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/contractors/{contractor_uuid}/rehire": + post: + summary: Schedule a contractor rehire + parameters: + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-contractors-contractor_uuid-rehire + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Schedules a contractor rehire for a given date. Creates a new employment record for the contractor. + + ## Prerequisites + Before calling this endpoint: + 1. The contractor must be inactive (previously dismissed) + 2. The contractor must not already have an upcoming employment + + ## Related webhooks + - `contractor.reactivated`: Fires when the contractor becomes active again (on or after start_date) + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: {} + requestBody: + content: + application/json: + schema: + type: object + properties: + start_date: + type: string + format: date + description: The rehire date + example: '2025-07-01' + required: + - start_date + delete: + summary: Cancel a pending contractor rehire + parameters: + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: delete-v1-contractors-contractor_uuid-rehire + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Cancels a pending contractor rehire. For future-dated rehires, cancellation is available anytime before the date. + For past-dated rehires, cancellation is only available within the 2-day grace period. + + ## Prerequisites + Before calling this endpoint: + - The contractor must have a pending rehire (upcoming employment) + + ## Related webhooks + - `contractor.deactivated`: Fires when the contractor returns to inactive state after cancellation + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: {} + "/v1/contractors/{contractor_uuid}/termination": + post: + summary: Schedule a contractor termination + parameters: + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: post-v1-contractors-contractor_uuid-termination + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Schedules a contractor dismissal for a given date. Supports both immediate (past dates) and future-dated dismissals. + + ## Prerequisites + Before calling this endpoint: + 1. The contractor must be active (no existing pending dismissal) + 2. The contractor must have a current employment + + ## Related webhooks + - `contractor.deactivated`: Fires when the contractor becomes inactive (on or after end_date) + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: {} + requestBody: + content: + application/json: + schema: + type: object + properties: + end_date: + type: string + format: date + description: The date of dismissal + example: '2025-06-15' + required: + - end_date + delete: + summary: Cancel a pending contractor termination + parameters: + - name: contractor_uuid + in: path + required: true + description: The UUID of the contractor + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + operationId: delete-v1-contractors-contractor_uuid-termination + security: + - CompanyAccessAuth: [] + description: |- + ## Purpose + Cancels a pending contractor dismissal. For future-dated dismissals, cancellation is available anytime before the date. + For past-dated dismissals, cancellation is only available within the 2-day grace period. + + ## Prerequisites + Before calling this endpoint: + - The contractor must have a pending dismissal (scheduled or within the grace period) + + ## Related webhooks + - `contractor.reactivated`: Fires when the contractor becomes active again after cancellation + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + x-gusto-rswag: true + responses: + '204': + description: no content + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: {} + "/v1/contractors/{contractor_uuid}": + get: + summary: Get a contractor + operationId: get-v1-contractors-contractor_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a contractor. + + scope: `contractors:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - company_name + - portal_invitations + x-enumDescriptions: + company_name: Include the name of the company that the contractor is associated with + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each contractor response. Multiple options are comma separated. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a contractor + operationId: put-v1-contractors-contractor_uuid + security: + - CompanyAccessAuth: [] + description: "Update a contractor.\n\n> \U0001F6A7 Warning\n>\n> Watch out when changing a contractor's type (when the contractor is finished onboarding). Specifically, changing contractor type can be dangerous since Gusto won't recognize and file two separate 1099s if they simply change from business to individual\n\nscope: `contractors:write`" + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Update-Request-Body" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a contractor + operationId: delete-v1-contractors-contractor_uuid + security: + - CompanyAccessAuth: [] + description: |- + A contractor can only be deleted when there are no contractor payments. + + scope: `contractors:manage` + tags: + - Contractors + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/contractors": + get: + summary: Get contractors of a company + operationId: get-v1-companies-company_uuid-contractors + security: + - CompanyAccessAuth: [] + description: |- + Get all contractors, active and inactive, individual and business, for a company. + + scope: `contractors:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: search_term + in: query + required: false + description: A string to search for in the object's names + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(created_at|type|onboarding_status|name)(:(asc|desc))?(,(created_at|type|onboarding_status|name)(:(asc|desc))?)*$" + example: created_at:asc + description: 'Sort by one or more fields. Options: created_at, type, onboarding_status, name. Append `:asc` or `:desc` to specify direction (e.g., `created_at:asc`). Defaults to ascending.' + - name: onboarded + in: query + required: false + description: Filters contractors by those who have completed onboarding + schema: + type: boolean + - name: onboarded_active + in: query + required: false + description: Filters contractors who are ready to work (onboarded AND active today) + schema: + type: boolean + - name: terminated + in: query + required: false + description: Filters contractors by those who have been or are scheduled to be dismissed + schema: + type: boolean + - name: terminated_today + in: query + required: false + description: Filters contractors by those who have been dismissed and whose dismissal is in effect today (excludes active and scheduled to be dismissed) + schema: + type: boolean + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - company_name + - portal_invitations + x-enumDescriptions: + company_name: Include the name of the company that the contractor is associated with + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each contractor response. Multiple options are comma separated. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create a contractor + operationId: post-v1-companies-company_uuid-contractors + security: + - CompanyAccessAuth: [] + description: |- + Create an individual or business contractor. + + scope: `contractors:manage` + tags: + - Contractors + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Create-Request-Body" + required: true + x-speakeasy-name-override: create + "/v1/contractors/{contractor_uuid}/onboarding_status": + get: + summary: Get the contractor's onboarding status + operationId: get-v1-contractors-contractor_uuid-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + Retrieves a contractor's onboarding status. The data returned helps inform the required onboarding steps and respective completion status. + + ## onboarding_status + + ### Admin-facilitated onboarding + | onboarding_status | Description | + |:------------------|------------:| + | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | + | `admin_onboarding_review` | All information has been completed and admin needs to confirm onboarding. | + | `onboarding_completed` | Contractor has been fully onboarded and verified. | + + ### Contractor self-onboarding + + | onboarding_status | Description | + | --- | ----------- | + | `admin_onboarding_incomplete` | Admin needs to enter basic information about the contractor. | + | `self_onboarding_not_invited` | Admin has the intention to invite the contractor to self-onboard (e.g., marking a checkbox), but the system has not yet sent the invitation. | + | `self_onboarding_invited` | Contractor has been sent an invitation to self-onboard. | + | `self_onboarding_started` | Contractor has started the self-onboarding process. | + | `self_onboarding_review` | Admin needs to review contractors's entered information and confirm onboarding. | + | `onboarding_completed` | Contractor has been fully onboarded and verified. | + + ## onboarding_steps + + | onboarding_steps | Requirement(s) to be completed | + |:-----------------|-------------------------------:| + | `basic_details` | Add individual contractor's first name, last name, social security number or Business name and EIN depending on the contractor type | + | `add_address` | Add contractor address. | + | `compensation_details` | Add contractor compensation. | + | `payment_details` | (optional) Set up contractor's direct deposit or set to check. | + | `sign_documents` | Contractor forms (e.g., W9) are generated & signed. | + | `file_new_hire_report` | Contractor new hire report is generated. | + + scope: `contractors:read` + tags: + - Contractors + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getOnboardingStatus + put: + summary: Change the contractor's onboarding status + operationId: put-v1-contractors-contractor_uuid-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + Updates a contractor's onboarding status. + + Below is a list of valid onboarding status changes depending on the intended action to be performed on behalf of the contractor. + + | Action | current onboarding_status | new onboarding_status | + |:------------------|:------------:|----------:| + | Mark a contractor as self-onboarding | `admin_onboarding_incomplete` | `self_onboarding_not_invited` | + | Invite a contractor to self-onboard | `admin_onboarding_incomplete` or `self_onboarding_not_invited` | `self_onboarding_invited` | + | Cancel a contractor's self-onboarding | `self_onboarding_invited` or `self_onboarding_not_invited` | `admin_onboarding_incomplete` | + | Review a contractor's self-onboarded info | `self_onboarding_started` | `self_onboarding_review` | + | Finish a contractor's onboarding | `admin_onboarding_review` or `self_onboarding_review` | `onboarding_completed` | + + scope: `contractors:write` + tags: + - Contractors + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Contractor-Onboarding-Status-Update-Request-Body" + required: true + x-speakeasy-name-override: updateOnboardingStatus + "/v1/departments/{department_uuid}": + get: + summary: Get a department + operationId: get-department + security: + - CompanyAccessAuth: [] + description: |- + Get a department given the UUID + + scope: `departments:read` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a department + operationId: put-departments + security: + - CompanyAccessAuth: [] + description: |- + Update a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Conflict-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-Update-Request-Body" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a department + operationId: delete-department + security: + - CompanyAccessAuth: [] + description: |- + Delete a department. You cannot delete a department until all employees and contractors have been removed. + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + "/v1/departments/{department_uuid}/add": + put: + summary: Add people to a department + operationId: put-add-people-to-department + security: + - CompanyAccessAuth: [] + description: |- + Add employees and contractors to a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-People-Request-Body" + required: true + x-speakeasy-name-override: addPeople + "/v1/departments/{department_uuid}/remove": + put: + summary: Remove people from a department + operationId: put-remove-people-from-department + security: + - CompanyAccessAuth: [] + description: |- + Remove employees and contractors from a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: department_uuid + in: path + description: The UUID of the department + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-People-Request-Body" + required: true + x-speakeasy-name-override: removePeople + "/v1/companies/{company_uuid}/departments": + get: + summary: Get all departments of a company + operationId: get-companies-departments + security: + - CompanyAccessAuth: [] + description: |- + Get all of the departments for a given company with the employees and contractors assigned to that department. + + scope: `departments:read` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getAll + post: + summary: Create a department + operationId: post-departments + security: + - CompanyAccessAuth: [] + description: |- + Create a department + + scope: `departments:write` + tags: + - Departments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Department" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Department-Create-Request-Body" + required: true + x-speakeasy-name-override: create + "/v1/contractors/{contractor_uuid}/documents": + get: + summary: Get all contractor documents + operationId: get-v1-contractor-documents + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all contractor's documents + + scope: `contractor_documents:read` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: contractor_uuid + in: path + description: The UUID of the contractor + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorDocuments + x-speakeasy-name-override: getAll + "/v1/documents/{document_uuid}": + get: + summary: Get a contractor document + operationId: get-v1-contractor-document + security: + - CompanyAccessAuth: [] + description: |- + Get a contractor document. + + scope: `contractor_documents:read` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_uuid + in: path + description: The UUID of the document + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Document" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: contractorDocuments + "/v1/documents/{document_uuid}/pdf": + get: + summary: Get the contractor document pdf + operationId: get-v1-contractor-document-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the contractor document pdf. + + scope: `contractor_documents:read` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_uuid + in: path + description: The UUID of the document + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Document-Pdf" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: contractorDocuments + x-speakeasy-name-override: getPdf + "/v1/documents/{document_uuid}/sign": + put: + summary: Sign a contractor document + operationId: put-v1-contractor-document-sign + security: + - CompanyAccessAuth: [] + description: |- + Sign a contractor document. + + scope: `contractor_documents:write` + tags: + - Contractor Documents + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: document_uuid + in: path + description: The UUID of the document + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Document-Signed" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + fields: + type: array + description: List of fields and the values they will be set to. + items: type: object - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' properties: - required: - type: boolean - editable: - type: boolean - default_value: - type: object - properties: - value: - type: string - type: - type: string - choices: - type: array - items: - type: string - Benefit-Summary: - description: '' - type: object - x-tags: - - Company Benefits - properties: - start_date: - type: string - description: The start date of benefit summary. - end_date: - type: string - description: The end date of benefit summary. - description: - type: string - description: Description of the benefit. - company_benefit_deduction: - type: string - description: The aggregate of employee deduction for all employees given the period of time and the specific company benefit. - company_benefit_contribution: - type: string - description: The aggregate of company contribution for all employees given the period of time and the specific company benefit. - employees: + key: + type: string + description: Unique identifier of the field + value: + type: string + description: Value for the field + agree: + type: boolean + description: Whether you agree to sign electronically + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + required: + - fields + - agree + required: true + x-speakeasy-group: contractorDocuments + x-speakeasy-name-override: sign + "/v1/companies/{company_id}/earning_types": + get: + summary: Get all earning types for a company + operationId: get-v1-companies-company_id-earning_types + security: + - CompanyAccessAuth: [] + description: |- + A payroll item in Gusto is associated to an earning type to name the type of earning described by the payroll item. + + #### Default Earning Type + Certain earning types are special because they have tax considerations. Those earning types are mostly the same for every company depending on its legal structure (LLC, Corporation, etc.) + + #### Custom Earning Type + Custom earning types are all the other earning types added specifically for a company. + + scope: `payrolls:read` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Earning-Type-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: earningTypes + x-speakeasy-name-override: list + post: + summary: Create a custom earning type + operationId: post-v1-companies-company_id-earning_types + security: + - CompanyAccessAuth: [] + description: |- + Create a custom earning type. + + If an inactive earning type exists with the same name, this will reactivate it instead of creating a new one. + + scope: `payrolls:write` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Earning-Type" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - name + properties: + name: + type: string + default: Gym Membership + description: The name of the custom earning type. + required: true + x-speakeasy-group: earningTypes + x-speakeasy-name-override: create + "/v1/companies/{company_id}/earning_types/{earning_type_uuid}": + put: + summary: Update an earning type + operationId: put-v1-companies-company_id-earning_types-earning_type_uuid + security: + - CompanyAccessAuth: [] + description: |- + Update an earning type. + + scope: `payrolls:write` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: earning_type_uuid + in: path + description: The UUID of the earning type + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Earning-Type" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the custom earning type. + required: true + x-speakeasy-group: earningTypes + x-speakeasy-name-override: update + delete: + summary: Deactivate an earning type + operationId: delete-v1-companies-company_id-earning_types-earning_type_uuid + security: + - CompanyAccessAuth: [] + description: |- + Deactivate an earning type. + + scope: `payrolls:write` + tags: + - Earning Types + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: earning_type_uuid + in: path + description: The UUID of the earning type + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: earningTypes + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/bank_accounts": + get: + summary: List employee bank accounts + operationId: get-v1-employees-employee_id-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Returns all employee bank accounts. + + scope: `employee_payment_methods:read` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeePaymentMethods + x-speakeasy-name-override: getBankAccounts + post: + summary: Create an employee bank account + operationId: post-v1-employees-employee_id-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Creates an employee bank account. An employee can have multiple bank accounts. Note that creating an employee bank account will also update the employee's payment method. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account-Request" + required: true + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: create + "/v1/employees/{employee_id}/bank_accounts/{bank_account_uuid}": + put: + summary: Update an employee bank account + operationId: put-v1-employees-employee_id-bank_accounts + security: + - CompanyAccessAuth: [] + description: |- + Updates an employee bank account. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: bank_account_uuid + in: path + description: The UUID of the bank account + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Bank-Account-Request" + required: true + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: updateBankAccount + delete: + summary: Delete an employee bank account + operationId: delete-v1-employees-employee_id-bank_accounts-bank_account_id + security: + - CompanyAccessAuth: [] + description: |- + Deletes an employee bank account. To update an employee's bank account details, delete the bank account first and create a new one. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: bank_account_uuid + in: path + description: The UUID of the bank account + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: deleteBankAccount + "/v1/employees/{employee_id}/employee_benefits": + get: + summary: Get all benefits for an employee + operationId: get-v1-employees-employee_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. + + Returns an array of all employee benefits for this employee + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_benefits + description: |- + Available options: + - all_benefits: Include all effective dated benefits for each employee instead of only the current benefits. + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: get + post: + summary: Create an employee benefit + operationId: post-v1-employees-employee_id-employee_benefits + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only create employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit-Create-Request" + required: true + x-speakeasy-name-override: create + x-speakeasy-group: employeeBenefits + "/v1/employee_benefits/{employee_benefit_id}": + get: + summary: Get an employee benefit + operationId: get-v1-employee_benefits-employee_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee’s enrollment. + + Benefits containing PHI are only visible to applications with the `employee_benefits:read:phi` scope. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_benefit_id + in: path + description: The UUID of the employee benefit. + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: retrieve + x-speakeasy-group: employeeBenefits + put: + summary: Update an employee benefit + operationId: put-v1-employee_benefits-employee_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only update employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_benefit_id + in: path + description: The UUID of the employee benefit. + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Benefit-Update-Request" + required: true + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: update + delete: + summary: Delete an employee benefit + operationId: delete-v1-employee_benefits-employee_benefit_id + security: + - CompanyAccessAuth: [] + description: |- + Employee benefits represent an employee enrolled in a particular company benefit. It includes information specific to that employee's enrollment. + + When the application has the `employee_benefits:write:benefit_type_limited` data scope, the application can only delete employee benefits for benefit types that are permitted for the application. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_benefit_id + in: path + description: The UUID of the employee benefit. + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/custom_fields": + get: + summary: Get an employee's custom fields + operationId: get-v1-employees-employee_id-custom_fields + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of the employee's custom fields. + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Custom-Field-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getCustomFields + "/v1/employees/{employee_uuid}/federal_taxes": + get: + summary: Get federal taxes for an employee + operationId: get-v1-employees-employee_id-federal_taxes + security: + - CompanyAccessAuth: [] + description: |- + Returns federal tax information for an employee. The response structure varies based on the w4_data_type (pre_2020_w4 or rev_2020_w4). + + scope: `employee_federal_taxes:read` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Federal-Tax" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: getFederalTaxes + put: + summary: Update federal taxes for an employee + operationId: put-v1-employees-employee_id-federal_taxes + security: + - CompanyAccessAuth: [] + description: |- + Updates federal tax (W4) information for an employee. Only rev_2020_w4 format is accepted for updates. + + scope: `employee_federal_taxes:write` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Federal-Tax" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - version + - w4_data_type + - filing_status + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + example: 56a489ce86ed6c1b0f0cecc4050a0b01 + w4_data_type: + type: string + enum: + - rev_2020_w4 + description: The version of the W4 form. Only rev_2020_w4 is accepted for updates. + filing_status: + type: string + enum: + - Single + - Married + - Head of Household + - Exempt from withholding + description: 'Determines which tax return form an individual will use. One of: Single, Married, Head of Household, Exempt from withholding.' + example: Single + two_jobs: + type: boolean + description: If there are only two jobs (e.g., you and your spouse each have a job), set to true. + dependents_amount: + type: number + description: Amount for dependents; a dependent entitles the taxpayer to claim a dependency exemption. + other_income: + type: number + description: Other income amount. + deductions: + type: number + description: Deductions other than the standard deduction to reduce withholding. + extra_withholding: + type: number + description: Additional amount to be withheld from each paycheck. + federal_withholding_allowance: + type: integer + description: Only applicable when w4_data_type is 'pre_2020_w4' (pre-2020 W4 forms are deprecated for updates). + additional_withholding: + type: number + description: Only applicable when w4_data_type is 'pre_2020_w4' (pre-2020 W4 forms are deprecated for updates). + required: true + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: updateFederalTaxes + "/v1/employees/{employee_id}/forms": + get: + summary: Get all employee forms + operationId: get-v1-employee-forms + security: + - CompanyAccessAuth: [] + description: |- + Get a list of all employee's forms + + scope: `employee_forms:read` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + x-speakeasy-group: employeeForms + "/v1/employees/{employee_id}/forms/{form_id}": + get: + summary: Get an employee form + operationId: get-v1-employee-form + security: + - CompanyAccessAuth: [] + description: |- + Get an employee form + + scope: `employee_forms:read` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeForms + x-speakeasy-name-override: get + "/v1/employees/{employee_id}/forms/{form_id}/pdf": + get: + summary: Get the employee form pdf + operationId: get-v1-employee-form-pdf + security: + - CompanyAccessAuth: [] + description: |- + Get the link to the employee form PDF + + scope: `employee_forms:read` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form-Pdf" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeForms + x-speakeasy-name-override: getPdf + "/v1/employees/{employee_id}/forms/{form_id}/sign": + put: + summary: Sign an employee form + operationId: put-v1-employee-form-sign + security: + - CompanyAccessAuth: [] + description: |- + Sign an employee form. + + The optional preparer attributes are only valid for I-9 form. When a preparer is used, the + first name, last name, street address, city, state, and zip for that preparer are all required. + + scope: `employee_forms:sign` + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: form_id + in: path + description: The UUID of the form + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + signature_text: + type: string + description: The signature + agree: + type: boolean + description: Whether you agree to sign electronically + signed_by_ip_address: + type: string + description: The IP address of the signatory who signed the form. Both IPv4 AND IPv6 are supported. You must provide the IP address with either this parameter OR you can leave out this parameter and set the IP address in the request header using the `x-gusto-client-ip` header instead. + preparer: + type: boolean + description: Whether there is a preparer + preparer_first_name: + type: string + preparer_last_name: + type: string + preparer_street_1: + type: string + preparer_street_2: + type: string + preparer_city: + type: string + preparer_state: + type: string + preparer_zip: + type: string + preparer_agree: + type: string + description: Whether preparer agrees to sign electronically + preparer2: + type: boolean + description: Whether there is a 2nd preparer + preparer2_first_name: + type: string + preparer2_last_name: + type: string + preparer2_street_1: + type: string + preparer2_street_2: + type: string + preparer2_city: + type: string + preparer2_state: + type: string + preparer2_zip: + type: string + preparer2_agree: + type: string + description: Whether 2nd preparer agrees to sign electronically + preparer3: + type: boolean + description: Whether there is a 3rd preparer + preparer3_first_name: + type: string + preparer3_last_name: + type: string + preparer3_street_1: + type: string + preparer3_street_2: + type: string + preparer3_city: + type: string + preparer3_state: + type: string + preparer3_zip: + type: string + preparer3_agree: + type: string + description: Whether 3rd preparer agrees to sign electronically + preparer4: + type: boolean + description: Whether there is a 4th preparer + preparer4_first_name: + type: string + preparer4_last_name: + type: string + preparer4_street_1: + type: string + preparer4_street_2: + type: string + preparer4_city: + type: string + preparer4_state: + type: string + preparer4_zip: + type: string + preparer4_agree: + type: string + description: Whether 4th preparer agrees to sign electronically + required: + - signature_text + - agree + required: true + x-speakeasy-group: employeeForms + x-speakeasy-name-override: sign + "/v1/companies/{company_id}/employees/payment_details": + get: + summary: Get employee payment details for a company + operationId: get-v1-companies-company_id-employees-payment_details + security: + - CompanyAccessAuth: [] + description: |- + Fetches payment details for employees in a given company. Results are paginated. + + Use the `employee_uuid` query parameter to filter for a single employee. + Use the `payroll_uuid` query parameter to filter for employees on a specific payroll. + Providing both `employee_uuid` and `payroll_uuid` will result in a 422 error. + An empty array is returned if the company has no employees or if no employees match the filter criteria. + + The `encrypted_account_number` in the `splits` array is only visible if the `employee_payment_methods:read:account_number` scope is present. + + scope: `employee_payment_methods:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: employee_uuid + in: query + required: false + description: The UUID of a specific employee to fetch payment details for. + schema: + type: string + - name: payroll_uuid + in: query + required: false + description: The UUID of a specific payroll to fetch payment details for employees on that payroll. + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: A list of employee payment details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Payment-Details-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/employees/{employee_id}/payment_method": + get: + summary: Get payment method for an employee + operationId: get-v1-employees-employee_id-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Returns the payment method for an employee (e.g. Check or Direct Deposit with split configuration). + + scope: `employee_payment_methods:read` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: get + put: + summary: Update payment method for an employee + operationId: put-v1-employees-employee_id-payment_method + security: + - CompanyAccessAuth: [] + description: |- + Updates the payment method for an employee. Can set to Check or Direct Deposit with split configuration. + + scope: `employee_payment_methods:write` + tags: + - Employee Payment Method + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Payment-Method" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - version + - type + properties: + version: + type: string + description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + example: 63859768485e218ccf8a449bb60f14ed + type: + type: string + enum: + - Check + - Direct Deposit + description: The payment method type. If type is Check, split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. + split_by: + anyOf: + - type: string + enum: + - Percentage + - Amount + - type: 'null' + description: How the payment will be split. If Percentage, split amounts must add up to exactly 100. If Amount, values are in cents and the last split amount must be null to capture the remainder. + splits: + type: + - array + - 'null' + description: Array of payment splits. Required when type is Direct Deposit. + items: type: object - description: '' properties: - uuid: - type: string - description: The UUID of the employee - company_benefit_deduction: - type: string - description: The sum of employee deduction for this employee given the period of time and the specific company benefit. - company_benefit_contribution: - type: string - description: The sum of company contribution for this employee given the period of time and the specific company benefit. - benefit_deduction: - type: string - description: The sum of employee benefit deduction for this employee given the period of time and the benefit type. - benefit_contribution: - type: string - description: The sum of company contribution for this employee given the period of time and the benefit type. - gross_pay: - type: string - description: Gross pay for this employee given the period of time. - imputed_pay: + uuid: + type: string + description: The bank account UUID. + name: + type: string + description: The bank account name. + priority: + type: integer + description: Order of priority for each payment split; priority 1 is the first account paid. Must be unique and sequential. + split_amount: + type: + - number + - 'null' + description: If split_by is Amount, value is in cents (e.g., 500 for $5.00) and exactly one account must have null to capture the remainder. If split_by is Percentage, value is the percentage (e.g., 60 for 60%). + required: true + x-speakeasy-group: employeePaymentMethod + x-speakeasy-name-override: update + "/v1/employees/{employee_id}/rehire": + get: + summary: Get an employee rehire + operationId: get-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Retrieve an employee's rehire, which contains information on when the employee returns to work. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire" + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: getRehire + post: + summary: Create an employee rehire + operationId: post-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Rehire is created whenever an employee is scheduled to return to the company. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire-Body" + required: true + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: createRehire + put: + summary: Update an employee rehire + operationId: put-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Update an employee's rehire. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Rehire-Update-Request-Body" + required: true + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: rehire + delete: + summary: Delete an employee rehire + operationId: delete-v1-employees-employee_id-rehire + security: + - CompanyAccessAuth: [] + description: |- + Delete an employee rehire. An employee rehire cannot be deleted if it's active (past effective date). + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: deleteRehire + "/v1/employees/{employee_uuid}/section603_high_earner_statuses": + get: + summary: Get all Section 603 high earner statuses for an employee + operationId: get-v1-employees-employee_uuid-section603_high_earner_statuses + security: + - CompanyAccessAuth: [] + description: |- + Get all Section 603 high earner statuses for an employee across all years. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful - with records + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + post: + summary: Create a Section 603 high earner status + operationId: post-v1-employees-employee_uuid-section603_high_earner_statuses + security: + - CompanyAccessAuth: [] + description: |- + Create a Section 603 high earner status for an employee for a specific year. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: conflict - record already exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: unprocessable entity - invalid is_high_earner + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-Create-Request" + required: true + "/v1/employees/{employee_uuid}/section603_high_earner_statuses/{effective_year}": + get: + summary: Get a Section 603 high earner status for a specific year + operationId: get-v1-employees-employee_uuid-section603_high_earner_statuses-effective_year + security: + - CompanyAccessAuth: [] + description: |- + Get a Section 603 high earner status for an employee for a specific year. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: effective_year + in: path + description: The effective year for the Section 603 status + required: true + schema: + type: integer + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + '404': + description: Not Found - employee does not exist + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity - invalid effective_year + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + patch: + summary: Update a Section 603 high earner status + operationId: patch-v1-employees-employee_uuid-section603_high_earner_statuses-effective_year + security: + - CompanyAccessAuth: [] + description: |- + Update a Section 603 high earner status for an employee for a specific year. + + Section 603 of the SECURE 2.0 Act applies to employees aged 50 or older whose prior-year FICA wages exceed the IRS threshold. + These employees are classified as high earners, and their catch-up contributions to pre-tax retirement benefits must be designated as post-tax contributions. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: effective_year + in: path + description: The effective year for the Section 603 status + required: true + schema: + type: integer + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status" + '404': + description: Not Found - employee does not exist + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity - invalid is_high_earner + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Section603-High-Earner-Status-Update-Request" + required: true + "/v1/employees/{employee_uuid}/state_taxes": + get: + summary: Get an employee's state taxes + operationId: get-v1-employees-employee_id-state_taxes + security: + - CompanyAccessAuth: [] + description: |- + Get attributes relevant for an employee's state taxes. + + The data required to correctly calculate an employee's state taxes varies by both home and work location. This API returns information about each question that must be answered grouped by state. Mostly commonly, an employee lives and works in the same state and will only have questions for a single state. The response contains metadata about each question, the type of answer expected, and the current answer stored in Gusto for that question. + + Answers are represented by an array. Today, this array can only be empty or contain exactly one element, but is designed to allow for forward compatibility with effective-dated fields. The `valid_from` and `valid_up_to` fields are optional and currently ignored. + + ## About filing new hire reports + Payroll Admins are responsible for filing a new hire report for each Employee. The `file_new_hire_report` question will only be listed if: + - the `employee.onboarding_status` is one of the following: + - `admin_onboarding_incomplete` + - `self_onboarding_awaiting_admin_review` + - that employee's work state requires filing a new hire report + + scope: `employee_state_taxes:read` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-State-Taxes-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: getStateTaxes + put: + summary: Update an employee's state taxes + operationId: put-v1-employees-employee_id-state_taxes + security: + - CompanyAccessAuth: [] + description: |- + Update attributes relevant for an employee's state taxes. + + As described for the GET endpoint, the answers must be supplied in the effective-dated format, but currently only a single answer will be accepted. The `valid_from` and `valid_up_to` fields are optional and currently ignored. + + scope: `employee_state_taxes:write` + tags: + - Employee Tax Setup + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-State-Taxes-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-State-Taxes-Request" + required: true + x-speakeasy-group: employeeTaxSetup + x-speakeasy-name-override: updateStateTaxes + "/v1/employees/{employee_uuid}/time_off_activities": + get: + summary: Get employee time off activities + operationId: get-version-employees-time_off_activities + security: + - CompanyAccessAuth: [] + description: |- + Get employee time off activities. + + scope: `employee_time_off_activities:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_uuid + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: time_off_type + in: query + required: true + description: 'The time off type name you want to query data for. ex: ''sick'' or ''vacation''' + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Activity-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: getTimeOffActivities + "/v1/companies/{company_id}/reports/employees_annual_fica_wage": + post: + summary: Create an employees annual FICA wage report + operationId: post-v1-companies-company_id-reports-employees_annual_fica_wage + security: + - CompanyAccessAuth: [] + description: |- + Generates a report containing annual FICA (Federal Insurance Contributions Act) wage data for all employees in a company over a specified year range. + + This report provides detailed wage information subject to Social Security and Medicare taxes, useful for benefits integrations that need to verify employee earnings for compliance and benefit calculations. + + The report is generated asynchronously. After making this request, you will receive a `request_uuid` which can be used to poll the [Get a report](ref:get-v1-reports-request_uuid) endpoint to check the status and retrieve the report when complete. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '202': + description: accepted + content: + application/json: + schema: + "$ref": "#/components/schemas/Employees-Annual-Fica-Wage-Report-Acceptance" + '422': + description: unprocessable entity - start year before minimum + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - start_year + - end_year + properties: + start_year: + type: integer + description: The start year for the report (must be 2011 or later) + example: 2023 + end_year: + type: integer + description: The end year for the report (must be the current year or earlier, and must be >= start_year) + example: 2024 + required: true + "/v1/employees/{employee_id}": + get: + summary: Get an employee + operationId: get-v1-employees + security: + - CompanyAccessAuth: [] + description: |- + Get an employee. + + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - all_compensations + - all_home_addresses + - company_name + - current_home_address + - custom_fields + - portal_invitations + x-enumDescriptions: + all_compensations: Include all effective dated compensations for each job instead of only the current compensation. Requires `compensations:read` scope. + all_home_addresses: Include all home addresses that have been associated to this employee + company_name: Include the name of the company that the employee is associated with + current_home_address: Include the employee's current home address + custom_fields: Include employees' custom fields + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each employee response. Multiple options are comma separated. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update an employee. + operationId: put-v1-employees + security: + - CompanyAccessAuth: [] + description: |- + Update an employee. + + scope: `employees:write` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '409': + description: invalid version + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + first_name: + type: string + example: Weezy + middle_initial: + type: + - string + - 'null' + example: F + last_name: + type: string + example: Baby + email: + type: string + example: tunechi@cashmoneyrecords.com + work_email: + type: string + example: new.partner.work@example.com + date_of_birth: + type: string + example: '1991-01-31' + ssn: + type: string + pattern: "[0-9]{9}" + example: '824920233' + preferred_first_name: + type: + - string + - 'null' + two_percent_shareholder: + type: boolean + description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + required: true + x-speakeasy-name-override: update + delete: + summary: Delete an onboarding employee + operationId: delete-v1-employee + security: + - CompanyAccessAuth: [] + description: |- + Use this endpoint to delete an employee who is in onboarding. Deleting + an onboarded employee is not allowed and will return a 422 response. Please check out the Terminations api + if you need to terminate an onboarded employee. + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: cannot delete onboarded employee + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: delete + "/v1/companies/{company_id}/employees": + get: + summary: Get employees of a company + operationId: get-v1-companies-company_id-employees + security: + - CompanyAccessAuth: [] + description: |- + Get all of the employees, onboarding, active and terminated, for a given company. + + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: location_uuid + in: query + required: false + description: Filter employees by a specific primary work location + schema: + type: string + - name: payroll_uuid + in: query + required: false + description: Filter employees by a specific payroll + schema: + type: string + - name: search_term + in: query + required: false + description: A string to search for in the object's names + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(created_at|name|onboarding_status)(:(asc|desc))?(,(created_at|name|onboarding_status)(:(asc|desc))?)*$" + example: created_at:asc + description: Sort employees by a given field. Cannot be used with search_term. Append `:asc` or `:desc` to specify direction (e.g., `name:desc`). Defaults to ascending. + - name: include + in: query + explode: false + required: false + schema: + type: array + items: + type: string + enum: + - all_compensations + - all_home_addresses + - company_name + - current_home_address + - custom_fields + - portal_invitations + x-enumDescriptions: + all_compensations: Include all effective dated compensations for each job instead of only the current compensation. Requires `compensations:read` scope. + all_home_addresses: Include all home addresses that have been associated to this employee + company_name: Include the name of the company that the employee is associated with + current_home_address: Include the employee's current home address + custom_fields: Include employees' custom fields + portal_invitations: Include portal invitation status information, including member portal invitation details and partner portal invitation status + description: Include the requested attribute(s) in each employee response. Multiple options are comma separated. + - name: onboarded + in: query + required: false + description: Filters employees by those who have completed onboarding + schema: + type: boolean + - name: onboarded_active + in: query + required: false + description: Filters employees who are ready to work (onboarded AND active today) + schema: + type: boolean + - name: terminated + in: query + required: false + description: Filters employees by those who have been or are scheduled to be terminated + schema: + type: boolean + - name: terminated_today + in: query + required: false + description: Filters employees by those who have been terminated and whose termination is in effect today (excludes active and scheduled to be terminated) + schema: + type: boolean + - name: uuids + in: query + explode: false + schema: + type: array + items: + type: string + required: false + description: Optional subset of employees to fetch. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Show-Employees" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create an employee + operationId: post-v1-employees + security: + - CompanyAccessAuth: [] + description: |- + Create an employee. + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + required: true + description: Company ID + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - first_name + - last_name + properties: + first_name: + type: string + middle_initial: + type: string + last_name: + type: string + email: + type: + - string + - 'null' + format: email + description: The employee's personal email address. Required if self_onboarding is true. + work_email: + type: string + format: email + description: The employee's work email address. + date_of_birth: + type: string + format: date + ssn: + type: string + pattern: "[0-9]{9}" + preferred_first_name: + type: string + self_onboarding: + type: boolean + description: If true, employee is expected to self-onboard. If false, payroll admin is expected to enter in the employee's onboarding information + x-speakeasy-name-override: create + "/v1/employees/{employee_id}/onboarding_status": + get: + summary: Get the employee's onboarding status + operationId: get-v1-employees-employee_id-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + # Description + Retrieves an employee's onboarding status. The data returned helps inform the required onboarding steps and respective completion status. + + + ## onboarding_status + + ### Admin-facilitated onboarding + | onboarding_status | Description | + |:------------------|------------:| + | `admin_onboarding_incomplete` | Admin needs to complete the full employee-onboarding. | + | `onboarding_completed` | Employee has been fully onboarded and verified. | + + ### Employee self-onboarding + | onboarding_status | Description | + |:------------------|------------:| + | `admin_onboarding_incomplete` | Admin needs to enter basic information about the employee. | + | `self_onboarding_pending_invite` | Admin has the intention to invite the employee to self-onboard (e.g., marking a checkbox), but the system has not yet sent the invitation. | + | `self_onboarding_invited` | Employee has been sent an invitation to self-onboard. | + | `self_onboarding_invited_started` | Employee has started the self-onboarding process. | + | `self_onboarding_invited_overdue` | Employee's start date has passed, and employee has still not completed self-onboarding. | + | `self_onboarding_completed_by_employee` | Employee has completed entering in their information. The status should be updated via API to "self_onboarding_awaiting_admin_review" from here, once the Admin has started reviewing. | + | `self_onboarding_awaiting_admin_review` | Admin has started to verify the employee's information. | + | `onboarding_completed` | Employee has been fully onboarded and verified. | + + ## onboarding_steps + + | onboarding_steps | Requirement(s) to be completed | + |:-----------------|-------------------------------:| + | `personal_details` | Add employee's first name, last name, email, date of birth, social security number | + | `compensation_details` | Associate employee to a job & compensation. | + | `add_work_address` | Add employee work address. | + | `add_home_address` | Add employee home address. | + | `federal_tax_setup` | Set up federal tax withholdings. | + | `state_tax_setup` | Set up state tax withholdings. | + | `direct_deposit_setup` | (optional) Set up employee's direct deposit. | + | `employee_form_signing` | Employee forms (e.g., W4, direct deposit authorization) are generated & signed. | + | `file_new_hire_report` | File a new hire report for this employee. | + | `admin_review` | Admin reviews & confirms employee details (only required for Employee self-onboarding) | + + scope: `employees:read` + tags: + - Employees + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getOnboardingStatus + put: + summary: Update the employee's onboarding status + operationId: put-v1-employees-employee_id-onboarding_status + security: + - CompanyAccessAuth: [] + description: |- + Updates an employee's onboarding status. + Below is a list of valid onboarding status changes depending on the intended action to be performed on behalf of the employee. + + | Action | current onboarding_status | new onboarding_status | + |:------------------|:------------:|----------:| + | Mark an employee as self-onboarding | `admin_onboarding_incomplete` | `self_onboarding_pending_invite` | + | Invite an employee to self-onboard | `admin_onboarding_incomplete` or `self_onboarding_pending_invite` | `self_onboarding_invited` | + | Cancel an employee's self-onboarding | `self_onboarding_invited` or `self_onboarding_pending_invite` | `admin_onboarding_incomplete` | + | Review an employee's self-onboarded info | `self_onboarding_completed_by_employee` | `self_onboarding_awaiting_admin_review` | + | Finish an employee's onboarding | `admin_onboarding_incomplete` or `self_onboarding_awaiting_admin_review` | `onboarding_completed` | + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Status" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: invalid status transition + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - onboarding_status + properties: + onboarding_status: + type: string + description: Onboarding status value + enum: + - admin_onboarding_incomplete + - self_onboarding_pending_invite + - self_onboarding_invited + - self_onboarding_invited_started + - self_onboarding_invited_overdue + - self_onboarding_completed_by_employee + - self_onboarding_awaiting_admin_review + - onboarding_completed + required: true + x-speakeasy-name-override: updateOnboardingStatus + "/v1/employees/{employee_id}/onboarding_documents_config": + put: + summary: Update employee onboarding documents config + operationId: put-v1-employees-employee_id-onboarding_documents_config + security: + - CompanyAccessAuth: [] + description: |- + Indicate whether to include the Form I-9 for an employee during the onboarding process. + If included, the employee will be prompted to complete Form I-9 as part of their onboarding. + + ## Related guides + - [Employee onboarding](doc:employee-onboarding) + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Onboarding-Documents-Config-Request" + x-speakeasy-name-override: updateOnboardingDocumentsConfig + "/v1/employees/{employee_id}/employment_history": + get: + summary: Get employment history for an employee + operationId: get-v1-employees-employee_id-employment_history + security: + - CompanyAccessAuth: [] + description: |- + Retrieve the employment history for a given employee, which includes termination and rehire. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employment-History-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: getHistory + "/v1/events": + get: + summary: Get all events + operationId: get-events + security: + - SystemAccessAuth: [] + description: "Fetch all events, going back up to 30 days, that your partner application has the required scopes for. Note that a partner does NOT have to have verified webhook subscriptions in order to utilize this endpoint.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `events:read`" + tags: + - Events + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: starting_after_uuid + in: query + required: false + description: A cursor for pagination. Returns all events occuring after the specified UUID (exclusive). Events are sorted according to the provided sort_order param. + schema: + type: string + - name: resource_uuid + in: query + required: false + description: The UUID of the company. If not specified, will return all events for all companies. + schema: + type: string + - name: limit + in: query + required: false + description: Limits the number of objects returned in a single response, between 1 and 100. The default is 25 + schema: + type: string + - name: event_type + in: query + required: false + description: A string containing the exact event name (e.g. `employee.created`), or use a wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`, `notification.*.created` etc.) + schema: + type: string + - name: sort_order + in: query + required: false + schema: + type: string + enum: + - asc + - desc + description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Event-List" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: get + "/v1/companies/{company_uuid}/external_payrolls": + get: + summary: Get external payrolls for a company + operationId: get-v1-company-external-payrolls + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + description: |- + Get external payrolls for a company. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/External-Payroll-Basic" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: get + post: + summary: Create an external payroll for a company + operationId: post-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + description: |- + Creates a new external payroll for a company. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll-Create-Request" + required: true + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: create + "/v1/companies/{company_uuid}/external_payrolls/tax_liabilities": + get: + summary: Get tax liabilities + operationId: get-v1-tax-liabilities + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + description: |- + Get tax liabilities from aggregate external payrolls for a company. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Tax-Liabilities-Selections" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: listTaxLiabilities + put: + summary: Update tax liabilities + operationId: put-v1-tax-liabilities + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + description: |- + Update tax liabilities for a company. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Tax-Liabilities-Selections" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Tax-Liability-Selections-Request" + required: true + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: updateTaxLiabilities + "/v1/companies/{company_uuid}/external_payrolls/tax_liabilities/finish": + put: + summary: Finalize tax liabilities options and convert into processed payrolls + operationId: put-v1-tax-liabilities-finish + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + description: |- + Finalizes tax liabilities for a company. All external payrolls edit action will be disabled. + + ### Asynchronous processing + This endpoint triggers an asynchronous operation. The external payrolls will be processed in the background after finalization. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: finalizeTaxLiabilities + "/v1/companies/{company_uuid}/external_payrolls/{external_payroll_id}": + get: + summary: Get an external payroll + operationId: get-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + description: |- + Get an external payroll for a given company. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: retrieve + put: + summary: Update an external payroll + operationId: put-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + description: |- + Update an external payroll with a list of external payroll items. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/External-Payroll-Update-Request" + required: true + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: update + delete: + summary: Delete an external payroll + operationId: delete-v1-external-payroll + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + description: |- + Delete an external payroll. + + scope: `external_payrolls:write` + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/external_payrolls/{external_payroll_id}/calculate_taxes": + get: + summary: Get tax suggestions for an external payroll + operationId: get-v1-external-payroll-calculate-taxes + security: + - CompanyAccessAuth: [] + tags: + - External Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: external_payroll_id + in: path + description: The UUID of the external payroll + required: true + schema: + type: string + description: |- + Get tax suggestions for an external payroll. Earnings and/or benefits data must be saved prior to the calculation in order to retrieve accurate tax calculation. + + scope: `external_payrolls:read` + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/External-Payroll-Tax-Suggestions" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: externalPayrolls + x-speakeasy-name-override: calculateTaxes + "/v1/companies/{company_uuid}/flows": + post: + summary: Create a flow + operationId: post-v1-company-flows + security: + - CompanyAccessAuth: [] + description: |- + Generate a link to access a pre-built workflow in Gusto white-label UI. For security, all generated flows will expire within 1 hour of inactivity or 24 hours from creation time, whichever comes first. + + You can see a list of all possible flow types in our [Flow Types](https://docs.gusto.com/embedded-payroll/docs/flow-types) guide. + + You can also mix and match flow_types in the same category to create custom flows suitable for your needs. + + For instance, to create a custom onboarding flow that only includes `add_addresses`, `add_employees`, and `sign_all_forms` steps, simply stitch those flow_types together into a comma delimited string: + + ```json + { + "flow_type": "add_addresses,add_employees,sign_all_forms" + } + ``` + + Please be mindful of data dependencies in each step to achieve the best user experience. + + For more information and in-depth guides review the [Getting Started](https://docs.gusto.com/embedded-payroll/docs/flows-getting-started) guide for flows. + + scope: `flows:write` + tags: + - Flows + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Flow" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Create-Flow-Request" + required: true + x-speakeasy-name-override: create + "/v1/employees/{employee_id}/garnishments": + get: + summary: Get garnishments for an employee + operationId: get-v1-employees-employee_id-garnishments + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:read` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create a garnishment + operationId: post-v1-employees-employee_id-garnishments + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:write` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment-Request" + required: true + x-speakeasy-name-override: create + "/v1/garnishments/child_support": + get: + summary: Get child support garnishment data + operationId: get-v1-garnishments-child_support + security: + - CompanyAccessAuth: [] + description: |- + Agency data and requirements to be used for creating child support garnishments + + scope: `garnishments:read` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Child-Support-Data" + x-speakeasy-name-override: getChildSupportData + "/v1/garnishments/{garnishment_id}": + get: + summary: Get a garnishment + operationId: get-v1-garnishments-garnishment_id + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:read` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: garnishment_id + in: path + description: The UUID of the garnishment + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a garnishment + operationId: put-v1-garnishments-garnishment_id + security: + - CompanyAccessAuth: [] + description: |- + Garnishments, or employee deductions, are fixed amounts or percentages deducted from an employee’s pay. They can be deducted a specific number of times or on a recurring basis. Garnishments can also have maximum deductions on a yearly or per-pay-period bases. Common uses for garnishments are court-ordered payments for child support or back taxes. Some companies provide loans to their employees that are repaid via garnishments. + + scope: `garnishments:write` + tags: + - Garnishments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: garnishment_id + in: path + description: The UUID of the garnishment + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Garnishment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Update-Garnishment-Request" + required: true + x-speakeasy-name-override: update + "/v1/payrolls/{payroll_uuid}/generated_documents/printable_payroll_checks": + post: + summary: Generate printable payroll checks (pdf) + operationId: post-v1-payrolls-payroll_uuid-generated_documents-printable_payroll_checks + security: + - CompanyAccessAuth: [] + description: |- + This endpoint initiates the generation of employee checks for the payroll specified by payroll_uuid. A generation status and corresponding request_uuid will be returned. Use the generated document GET endpoint with document_type: `printable_payroll_checks` and request_uuid to poll the check generation process and retrieve the generated check URL upon completion. + + scope: `generated_documents:write` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + required: true + description: The UUID of the payroll + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Check" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Printable-Payroll-Checks-Body" + required: true + x-speakeasy-name-override: generatePrintableChecks + "/v1/generated_documents/{document_type}/{request_uuid}": + get: + summary: Get a generated document + operationId: get-v1-generated_documents-document_type-request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a document given the request_uuid. The response will include the generation request's status and urls to the document. A list of urls is returned as certain document types require several urls. + + scope: `generated_documents:read` + tags: + - Generated Documents + x-gusto-integration-type: + - embedded + parameters: + - name: document_type + in: path + required: true + schema: + type: string + enum: + - printable_payroll_checks + description: The type of document being generated + - name: request_uuid + in: path + required: true + description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. + schema: + type: string + - "$ref": "#/components/parameters/VersionHeader" + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Generated-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: generatedDocuments + x-speakeasy-name-override: get + "/v1/companies/{company_uuid}/historical_employees": + post: + summary: Create a historical employee + operationId: post-v1-historical_employees + security: + - CompanyAccessAuth: [] + description: |- + Create a historical employee, an employee that was previously dismissed from the company in the current year. + + scope: `employees:manage` + tags: + - Employees + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company that will employ this historical record. + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Historical-Employee-Body" + required: true + x-speakeasy-name-override: createHistorical + "/v1/companies/{company_uuid}/historical_employees/{historical_employee_uuid}": + put: + summary: Update a historical employee + operationId: put-v1-historical_employees + security: + - CompanyAccessAuth: [] + description: |- + Update a historical employee, an employee that was previously dismissed from the company in the current year. + + scope: `employees:manage employees:write` + tags: + - Employees + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company that will employ this historical record. + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + schema: + type: string + - name: historical_employee_uuid + in: path + required: true + description: The UUID of the historical employee returned from create or list responses. + example: a2b3c4d-5e6f-7890-abcd-ef1234567890 + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Historical-Employee-Body" + required: true + x-speakeasy-group: historicalEmployees + x-speakeasy-name-override: update + "/v1/companies/{company_uuid}/holiday_pay_policy": + get: + summary: Get a company's holiday pay policy + operationId: get-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Get a company's holiday pay policy + + scope: `holiday_pay_policies:read` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '204': + description: no policy exists + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: get + post: + summary: Create a holiday pay policy for a company + operationId: post-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Create a holiday pay policy for a company + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: company already has a policy + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy-Request" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: create + put: + summary: Update a company's holiday pay policy + operationId: put-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Update a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Holiday-Pay-Policy-Request" + required: true + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: update + delete: + summary: Delete a company's holiday pay policy + operationId: delete-v1-companies-company_uuid-holiday_pay_policy + security: + - CompanyAccessAuth: [] + description: |- + Delete a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: delete + "/v1/companies/{company_uuid}/holiday_pay_policy/add": + put: + summary: Add employees to a company's holiday pay policy + operationId: put-v1-companies-company_uuid-holiday_pay_policy-add + security: + - CompanyAccessAuth: [] + description: |- + Add employees to a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + required: + - employees + properties: + employees: + type: array + description: An array of employee objects, each containing an employee_uuid. + items: + type: object + properties: + uuid: type: string - description: Total imputed pay for this employee given the period of time (not scoped to a benefit type). - payroll_benefits: - type: object - properties: - payroll_uuid: - type: string - payroll_type: - type: string - description: Whether it is regular or bonus payroll - check_date: - type: string - description: Check date of this payroll. - gross_pay: - type: string - description: Gross pay for this employee on the payroll. - imputed_pay: - type: string - description: Total imputed pay for this employee on the payroll. - company_benefit_deduction: - type: string - description: The employee benefit deduction amount for this employee on the payroll. - company_benefit_contribution: - type: string - description: The company contribution amount for this employee on the payroll. - pay_period: - type: object - properties: - start_date: - type: string - description: The beginning of the payroll's pay period. - nullable: true - end_date: - type: string - description: The end of the payroll's pay period. - nullable: true - Supported-Benefit: - description: '' - type: object - properties: - benefit_type: - type: integer - description: The benefit type in Gusto. - readOnly: true - name: - type: string - description: The name of the benefit. - readOnly: true - description: - type: string - description: The description of the benefit. - readOnly: true - pretax: - type: boolean - description: Whether the benefit is deducted before tax calculations, thus reducing one’s taxable income - readOnly: true - posttax: - type: boolean - description: Whether the benefit is deducted after tax calculations. - readOnly: true - imputed: - type: boolean - description: Whether the benefit is considered imputed income. - readOnly: true - healthcare: - type: boolean - description: Whether the benefit is healthcare related. - readOnly: true - retirement: - type: boolean - description: Whether the benefit is associated with retirement planning. - readOnly: true - yearly_limit: - type: boolean - description: Whether the benefit has a government mandated yearly limit. If the benefit has a government mandated yearly limit, employees cannot be added to more than one benefit of this type. - readOnly: true - category: - type: string - description: Category where the benefit belongs to. - readOnly: true - x-examples: - Example: - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - Company-Benefit-With-Employee-Benefits: - description: The representation of a company benefit. - type: object - x-examples: - Example: - uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - benefit_type: 1 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - uuid: - type: string - description: The UUID of the company benefit. - readOnly: true - benefit_type: - type: integer - description: The type of the benefit to which the company benefit belongs (same as benefit_id). - readOnly: true - active: - type: boolean - default: true - description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. - description: - type: string - minLength: 1 - description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. - source: - type: string - enum: - - internal - - external - - partnered - description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". - readOnly: true - partner_name: - type: string - nullable: true - description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". - readOnly: true - deletable: - type: boolean - description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner - supports_percentage_amounts: - type: boolean - description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. - readOnly: true - responsible_for_employer_taxes: - type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. - responsible_for_employee_w2: - type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. - employee_benefits: - type: array - items: + required: true + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: addEmployees + "/v1/companies/{company_uuid}/holiday_pay_policy/remove": + put: + summary: Remove employees from a company's holiday pay policy + operationId: put-v1-companies-company_uuid-holiday_pay_policy-remove + security: + - CompanyAccessAuth: [] + description: |- + Remove employees from a company's holiday pay policy + + scope: `holiday_pay_policies:write` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Holiday-Pay-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: no policy exists + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + required: + - employees + properties: + employees: + type: array + description: An array of employee objects, each containing an employee_uuid. + items: type: object properties: - employee_uuid: - type: string - description: The UUID of the employee to which the benefit belongs. - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - active: - type: boolean - default: true - description: Whether the employee benefit is active. - deduct_as_percentage: - type: boolean - default: false - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - company_contribution: - type: string - description: The value of the company contribution - uuid: - type: string - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - type: - type: string - description: |- - The company contribution scheme. - - "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. - - "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. - - "tiered": The company contribution varies according to the size of the employee deduction. - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. - - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - - type: object - properties: - tiers: - type: array - description: '' - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - The percentage threshold at which this tier ends (inclusive). - - For example, a value of "5" means the company contribution will match employee deductions from the previous tier's threshold up to and including 5% of payroll. - - If this is the first tier, a value of "5" means the company contribution will match employee deductions from 0% up to and including 5% of payroll. - threshold_delta: - type: string - description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. - required: - - uuid - Company-Benefit: - description: The representation of a company benefit. - type: object - x-examples: - Example: - uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - benefit_type: 1 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - enrollment_count: - type: integer - description: The number of employees enrolled in the benefit, only returned when enrollment_count query param is set to true. - readOnly: true - company_uuid: - type: string - description: The UUID of the company. - readOnly: true - uuid: - type: string - description: The UUID of the company benefit. - readOnly: true - benefit_type: - type: integer - description: The type of the benefit to which the company benefit belongs. - readOnly: true - active: - type: boolean - default: true - description: Whether this benefit is active for employee participation. Company benefits may only be deactivated if no employees are actively participating. - description: - type: string - minLength: 1 - description: The description of the company benefit. For example, a company may offer multiple benefits with an ID of 1 (for Medical Insurance). The description would show something more specific like “Kaiser Permanente” or “Blue Cross/ Blue Shield”. - source: - type: string - enum: - - internal - - external - - partnered - description: The source of the company benefit. This can be "internal", "external", or "partnered". Company benefits created via the API default to "external". Certain partners can create company benefits with a source of "partnered". - readOnly: true - partner_name: - type: string - nullable: true - description: The partner name of the partner that created the company benefit. For example, "XYZ Corp". - readOnly: true - deletable: - type: boolean - description: Whether this company benefit can be deleted. Deletable will be set to true if the benefit has not been used in payroll, has no employee benefits associated, and the benefit is not owned by Gusto or a Partner - supports_percentage_amounts: - type: boolean - description: Whether employee deductions and company contributions can be set as percentages of payroll for an individual employee. This is determined by the type of benefit and is not configurable by the company. - readOnly: true - responsible_for_employer_taxes: - type: boolean - description: Whether the employer is subject to pay employer taxes when an employee is on leave. Only applicable to third party sick pay benefits. - responsible_for_employee_w2: - type: boolean - description: Whether the employer is subject to file W-2 forms for an employee on leave. Only applicable to third party sick pay benefits. - required: - - uuid - Earning-Type: - description: '' - type: object - x-examples: - Example: - name: Cash Tips - uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - properties: - name: - type: string - description: The name of the earning type. - uuid: - type: string - description: The ID of the earning type. - readOnly: true - x-tags: - - Earning Types - required: - - uuid - Employee-Benefit-Base-Object: - description: '' - type: object - title: '' - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - active: - type: boolean - default: true - description: Whether the employee benefit is active. - employee_deduction: - type: string - default: '0.00' - description: The amount to be deducted, per pay period, from the employee's pay. - deduct_as_percentage: - type: boolean - default: false - description: Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll. - employee_deduction_annual_maximum: - type: string - description: The maximum employee deduction amount per year. A null value signifies no limit. - nullable: true - contribution: - type: object - description: An object representing the type and value of the company contribution. - properties: - type: + uuid: type: string - description: |- - The company contribution scheme. + required: true + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: removeEmployees + "/v1/employees/{employee_id}/home_addresses": + get: + summary: Get an employee's home addresses + operationId: get-v1-employees-employee_id-home_addresses + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: get + post: + summary: Create an employee's home address + operationId: post-v1-employees-employee_id-home_addresses + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:write` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + street_1: + type: string + example: 300 3rd Street + street_2: + type: + - string + - 'null' + city: + type: string + example: San Francisco + state: + type: string + example: CA + zip: + type: string + example: '94107' + x-speakeasy-name-override: zip_code + effective_date: + type: + - string + - 'null' + format: date + example: '2022-01-31' + courtesy_withholding: + type: boolean + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: create + "/v1/home_addresses/{home_address_uuid}": + get: + summary: Get an employee's home address + operationId: get-v1-home_addresses-home_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: home_address_uuid + in: path + description: The UUID of the home address + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: retrieveHomeAddress + put: + summary: Update an employee's home address + operationId: put-v1-home_addresses-home_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The home address of an employee is used to determine certain tax information about them. Addresses are geocoded on create and update to ensure validity. + + Supports home address effective dating and courtesy withholding. + + scope: `employees:write` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: home_address_uuid + in: path + description: The UUID of the home address + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + street_1: + type: string + street_2: + type: + - string + - 'null' + city: + type: string + state: + type: string + zip: + type: string + x-speakeasy-name-override: zip_code + effective_date: + type: + - string + - 'null' + format: date + courtesy_withholding: + type: boolean + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: update + delete: + summary: Delete an employee's home address + operationId: delete-v1-home_addresses-home_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + Used for deleting an employee's home address. Cannot delete the employee's active home address. + + scope: `employees:write` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: home_address_uuid + in: path + description: The UUID of the home address + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/i9_authorization": + get: + summary: Get an employee's I-9 authorization + operationId: get-v1-employees-employee_id-i9_authorization + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 authorization stores information about an employee's authorization status and I-9 signatures, information required to fill out the Form I-9 for employment eligibility verification. + + **NOTE:** The `form_uuid` in responses from this endpoint can be used to retrieve the PDF version of the I-9. See the "get employee form PDF" request for more details. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:read` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: getAuthorization + put: + summary: Create or update an employee's I-9 authorization + operationId: put-v1-employees-employee_id-i9_authorization + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 authorization stores information about an employee's authorization status, as well as signatures and other information required to complete the Form I-9 for employment eligibility verification. + + If the version is supplied and the employee I-9 authorization exists, this endpoint acts as an update. Otherwise, it will create an employee I-9 authorization. + + Validations on this endpoint are conditional: + * `document_type` may be required, depending on `authorization_status`. + * Valid formats for `document_number` vary, depending on `document_type`. + * `country` is only allowed with `document_type: 'foreign_passport'`. + * `expiration_date` is only allowed with `authorization_status: 'alien'`. + + > ℹ️ Unneeded information is automatically removed during updates. + > + > If an update causes some formerly-required fields to be unneeded, the now-unneeded data will be removed automatically. + > + > **Example:** Updating `authorization_status` from `alien` to `citizen` will cause any data in `document_type`, `document_number`, `country`, and `expiration_date` to be removed, since these fields are unused for `authorization_status:'citizen'`. + + Detailed instructions for completing Form I-9 can be found at https://www.uscis.gov/sites/default/files/document/forms/i-9instr.pdf + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:write` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization-Request-Body" + required: true + x-speakeasy-name-override: update + x-speakeasy-group: i9Verification + "/v1/employees/{employee_id}/i9_authorization/document_options": + get: + summary: Get an employee's I-9 verification document options + operationId: get-v1-employees-employee_id-i9_authorization-document_options + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States. This endpoint returns the possible document options based on the employee's authorization status. These options can then be used to create the I-9 verification documents. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:read` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/I9-Authorization-Document-Option" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: getDocumentOptions + "/v1/employees/{employee_id}/i9_authorization/documents": + get: + summary: Get an employee's I-9 verification documents + operationId: get-v1-employees-employee_id-i9_authorization-documents + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:read` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/I9-Authorization-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: getDocuments + put: + summary: Create an employee's I-9 authorization verification documents + operationId: put-v1-employees-employee_id-i9_authorization-documents + security: + - CompanyAccessAuth: [] + description: "An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States.\n\nUse the [document options endpoint](ref:get-v1-employees-employee_id-i9_authorization-document_options) to get the possible document types and titles, which can vary depending on the employee's authorization status.\n\n> \U0001F6A7 Every request must contain the complete list of documents for the Employee.\n>\n> Every request to this endpoint removes any previous verification document records for the employee.\n\n### Related guides\n- [I-9 employment verification](doc:i-9-employment-verification)\n\nscope: `i9_authorizations:manage`" + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/I9-Authorization-Document" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization-Documents-Request-Body" + required: true + x-speakeasy-group: i9Verification + x-speakeasy-name-override: createDocuments + "/v1/employees/{employee_id}/i9_authorization/documents/{document_id}": + delete: + summary: Delete an employee's I-9 verification document + operationId: delete-v1-employees-employee_id-i9_authorization-documents-document_id + security: + - CompanyAccessAuth: [] + description: |- + An employee's I-9 verification documents are the documents an employee has provided the employer to verify their identity and authorization to work in the United States. This endpoint deletes a specific verification document. + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:manage` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: document_id + in: path + description: The UUID of the document + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: i9Verification + x-speakeasy-name-override: deleteDocument + "/v1/employees/{employee_id}/i9_authorization/employer_sign": + put: + summary: Employer sign an employee's Form I-9 + operationId: put-v1-employees-employee_id-i9_authorization-employer_sign + security: + - CompanyAccessAuth: [] + description: |- + Sign an employee's Form I-9 as an employer. Once the form is signed, the employee's I-9 authorization is considered complete and cannot be modified. + + ### Prerequisites + Before calling this endpoint: + 1. The employee must have a completed [I-9 authorization](ref:put-v1-employees-employee_id-i9_authorization) + 2. The employee must have signed the Form I-9 + 3. [I-9 verification documents](ref:put-v1-employees-employee_id-i9_authorization-documents) must be submitted + + ### Related guides + - [I-9 employment verification](doc:i-9-employment-verification) + + scope: `i9_authorizations:manage` + tags: + - I-9 Verification + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: x-gusto-client-ip + in: header + required: false + schema: + type: string + description: Optional header to supply the IP address. This can be used to supply the IP address for signature endpoints instead of the signed_by_ip_address parameter. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/I9-Authorization-Employer-Sign-Request-Body" + required: true + x-speakeasy-group: i9Verification + x-speakeasy-name-override: employerSign + "/v1/companies/{company_uuid}/information_requests": + get: + summary: Get all information requests for a company + operationId: get-information-requests + security: + - CompanyAccessAuth: [] + description: |- + Fetch all information requests for a company. + + scope: `information_requests:read` + tags: + - Information Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(payroll_blocker|status|type)(:(asc|desc))?(,(payroll_blocker|status|type)(:(asc|desc))?)*$" + example: payroll_blocker:asc + description: 'Sort by one or more fields. Options: payroll_blocker, status, type. Append `:asc` or `:desc` to specify direction (e.g., `payroll_blocker:asc`). Defaults to ascending.' + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Information-Request" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/invoices/{invoice_period}": + get: + summary: Retrieve invoicing data for companies + operationId: get-invoices-invoice-period + security: + - SystemAccessAuth: [] + description: "Retrieve data for active companies used to calculate invoices for Gusto Embedded Payroll. A company is considered active for an invoice period if they are an active partner managed company, have run payroll or created contractor payments since becoming a partner managed company, and are not suspended at any point during the invoice period. This endpoint forces pagination, with 100 results returned at a time. You can learn more about our pagination here: [pagination guide](https://docs.gusto.com/embedded-payroll/docs/pagination)\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `invoices:read`" + tags: + - Invoices + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: invoice_period + in: path + required: true + description: The month we are calculating the invoice for. Must be in YYYY-MM format + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: company_uuids + in: query + required: false + description: Filter companies returned in the active_companies response, will return an error if company not active during provided invoice period. i.e. `?company_uuids=781922d8-e780-4b6b-bf74-ee303166d022,bbbca930-7322-491c-ba7f-98707a52a9c5` + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Invoice-Data" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: get + "/v1/jobs/{job_id}": + get: + summary: Get a job + operationId: get-v1-jobs-job_id + security: + - CompanyAccessAuth: [] + description: |- + Get a job. + + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + Compensation data in the response requires the `compensations:read` scope. + + scope: `jobs:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + parameters: + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + - name: include + in: query + required: false + schema: + type: string + enum: + - all_compensations + description: | + Available options: + - all_compensations: Include all effective dated compensations for each job instead of only the current compensation + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: getJob + put: + summary: Update a job + operationId: put-v1-jobs-job_id + security: + - CompanyAccessAuth: [] + description: |- + Update a job. + + scope: `jobs:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + parameters: + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Jobs-Update-Request-Body" + required: true + x-speakeasy-name-override: update + x-speakeasy-group: jobsAndCompensations + delete: + summary: Delete an individual job + operationId: delete-v1-jobs-job_id + security: + - CompanyAccessAuth: [] + description: |- + Deletes a specific job that an employee holds. + + scope: `jobs:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + parameters: + - name: job_id + in: path + description: The UUID of the job + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/jobs": + get: + summary: Get jobs for an employee + operationId: get-v1-employees-employee_id-jobs + security: + - CompanyAccessAuth: [] + description: |- + Get all of the jobs that an employee holds. + Note: Compensation data (pay rate, payment unit, and related fields) represents sensitive employee pay information. When retrieving employee job data, these fields (`rate`, `payment_unit`, `current_compensation_uuid`, `compensations`) are only returned when the `compensations:read` scope is included. This allows you to access employee and job metadata without exposing pay rates. + + Compensation data in the response requires the `compensations:read` scope. + + scope: `jobs:read` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: include + in: query + required: false + schema: + type: string + enum: + - all_compensations + description: | + Available options: + - all_compensations: Include all effective dated compensations for each job instead of only the current compensation + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getJobs + x-speakeasy-group: jobsAndCompensations + post: + summary: Create a job + operationId: post-v1-employees-employee_id-jobs + security: + - CompanyAccessAuth: [] + description: |- + Create a job. + + scope: `jobs:write` + tags: + - Jobs and Compensations + x-gusto-integration-type: + - embedded + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Job" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Jobs-Create-Request-Body" + required: true + x-speakeasy-group: jobsAndCompensations + x-speakeasy-name-override: createJob + "/v1/locations/{location_uuid}/minimum_wages": + get: + summary: Get minimum wages for a location + operationId: get-v1-locations-location_uuid-minimum_wages + security: + - CompanyAccessAuth: [] + description: |- + Get minimum wages for a location + + scope: `companies:read` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: location_uuid + in: path + description: The UUID of the location + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: effective_date + in: query + required: false + example: '2020-01-31' + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Minimum-Wage-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getMinimumWages + "/v1/locations/{location_id}": + get: + summary: Get a location + operationId: get-v1-locations-location_id + security: + - CompanyAccessAuth: [] + description: |- + Get a location. + + scope: `companies:read` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: location_id + in: path + description: The UUID of the location + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Location" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: retrieve + put: + summary: Update a location + operationId: put-v1-locations-location_id + security: + - CompanyAccessAuth: [] + description: |- + Update a location. + + scope: `companies:write` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: location_id + in: path + description: The UUID of the location + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Location" + '422': + description: Invalid state + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Invalid version param + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + phone_number: + type: string + pattern: "[0-9]{10}" + example: '8009360383' + street_1: + type: string + example: 300 3rd Street + street_2: + type: + - string + - 'null' + example: Apartment 318 + city: + type: string + example: San Francisco + state: + type: string + zip: + type: string + example: '94107' + x-speakeasy-name-override: zip_code + country: + type: string + mailing_address: + type: boolean + description: For a company location, specify if this location is the company's mailing address. A company has a single mailing address, so this designation will override any previous selection. + filing_address: + type: boolean + description: For a company location, specify if this location is the company's filing address. A company has a single filing address, so this designation will override any previous selection. + required: true + x-speakeasy-name-override: update + "/v1/companies/{company_id}/locations": + get: + summary: Get all company locations + operationId: get-v1-companies-company_id-locations + security: + - CompanyAccessAuth: [] + description: |- + Retrieves all company locations (addresses) associated with a company: mailing addresses, filing + addresses, or work locations. A single address may serve multiple, or all, purposes. + + Since all company locations are subsets of locations, use the Locations endpoints to + [get](ref:get-v1-locations-location_id) or [update](ref:put-v1-locations-location_id) an individual record. + + scope: `companies:read` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + example: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Locations-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + post: + summary: Create a company location + operationId: post-v1-companies-company_id-locations + security: + - CompanyAccessAuth: [] + description: |- + Create a company location, which represents any address associated with a company: mailing + addresses, filing addresses, or work locations. A single address may serve multiple, or all, purposes. + + Since all company locations are subsets of locations, use the Locations endpoints to + [get](ref:get-v1-locations-location_id) or [update](ref:put-v1-locations-location_id) an individual record. + + scope: `companies:write` + tags: + - Locations + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Location" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Location-Request" + required: true + x-speakeasy-name-override: create + "/v1/notifications/{notification_uuid}": + get: + summary: Get a notification's details + operationId: get-notifications-notification_uuid + security: + - CompanyAccessAuth: [] + description: |- + Upon receiving a notification webhook event, use this endpoint to fetch the notification's details. The notification details include basic suggested content that can help you build notifications in your platform. + + Note: partners are responsible for the delivery and any custom state management of notifications in their application. Refer to our [partner notification guide](https://docs.gusto.com/embedded-payroll/docs/partner-notifications) for more details. + + If the notification UUID is not found, the response will be 404 Not Found. If the notification's supporting data is no longer valid, the response will be 422 Unprocessable Entity. + + scope: `notifications:read` + tags: + - Notifications + x-gusto-integration-type: + - embedded + parameters: + - name: notification_uuid + in: path + description: The notification entity_uuid + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Notification" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: getDetails + "/v1/companies/{company_uuid}/paid_holidays": + get: + summary: Preview a company's paid holidays + operationId: get-companies-company_uuid-paid_holidays + security: + - CompanyAccessAuth: [] + description: |- + Preview a company's paid holidays + + If a year is passed, paid holidays for that year will be returned. Otherwise, paid holidays for the next three years will be returned. + + scope: `holiday_pay_policies:read` + tags: + - Holiday Pay Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: year + in: query + required: false + description: If a year is passed, paid holidays for that year will be returned. Otherwise, paid holidays for the next three years will be returned. + schema: + type: string + example: '2023' + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Paid-Holiday" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: holidayPayPolicies + x-speakeasy-name-override: previewPaidHolidays + "/v1/partner_managed_companies/{company_uuid}/migrate": + put: + summary: Migrate company to embedded payroll + operationId: put-v1-partner-managed-companies-company-uuid-migrate + security: + - CompanyAccessAuth: [] + description: |- + Migrate an existing Gusto customer to your embedded payroll product. + + ### Prerequisites + Before calling this endpoint: + 1. The customer must connect their Gusto account to your application using [OAuth2](doc:oauth2) + 2. The customer must view and [accept the Embedded Payroll Terms of Service](ref:post-partner-managed-companies-company_uuid-accept_terms_of_service) + + ### Related guides + - [Migrate an existing company](doc:migrate-existing-company) + + scope: `partner_managed_companies:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Migrate-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Migrate-Request" + required: true + x-speakeasy-name-override: migrate + "/v1/partner_managed_companies": + post: + summary: Create a partner managed company + operationId: post-v1-partner-managed-companies + security: + - SystemAccessAuth: [] + description: "Create a partner managed company. When you successfully call the API, it does the following:\n* Creates a new company in Gusto\n* Creates a new user using the provided email if the user does not already exist.\n* Makes the user the primary payroll administrator of the new company.\n\nIn response, you will receive oauth access tokens for the created company.\n\nIMPORTANT: the returned access and refresh tokens are reserved for this company only. They cannot be used to access other companies AND previously granted tokens cannot be used to access this company.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `partner_managed_companies:manage`" + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Create-Request" + required: true + x-speakeasy-name-override: createPartnerManaged + "/v1/partner_managed_companies/{company_uuid}/migration_readiness": + get: + summary: Check company migration readiness + operationId: get-v1-partner-managed-companies-company-uuid-migration_readiness + security: + - CompanyAccessAuth: [] + description: |- + Check if an existing Gusto customer is ready to be migrated to embedded payroll. This endpoint returns blockers and warnings associated with migrating the company and is recommended to be called before attempting to migrate a company. + + scope: `partner_managed_companies:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Migration-Readiness-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/partner_managed_companies/{company_uuid}/accept_terms_of_service": + post: + summary: Accept terms of service for an admin + operationId: post-partner-managed-companies-company_uuid-accept_terms_of_service + security: + - CompanyAccessAuth: [] + deprecated: true + description: |- + > Deprecated: use [POST /v1/partner_managed_companies/{company_uuid}/terms_of_service](https://docs.gusto.com/embedded-payroll/reference/post-v1-partner-managed-companies-company-uuid-terms_of_service). + + Accept the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms). + The user must be a company admin in order to accept the Terms of Service. + + scope: `terms_of_services:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '404': + description: Deprecated endpoint + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Accept-Terms-Of-Service-Request" + required: true + x-speakeasy-name-override: acceptTermsOfService + "/v1/partner_managed_companies/{company_uuid}/retrieve_terms_of_service": + post: + summary: Retrieve terms of service status for an admin + operationId: post-partner-managed-companies-company_uuid-retrieve_terms_of_service + security: + - CompanyAccessAuth: [] + deprecated: true + description: |- + > Deprecated: use [PUT /v1/partner_managed_companies/{company_uuid}/terms_of_service](https://docs.gusto.com/embedded-payroll/reference/put-v1-partner-managed-companies-company-uuid-terms_of_service) for user-level status, or [GET /v1/partner_managed_companies/{company_uuid}/terms_of_service](https://docs.gusto.com/embedded-payroll/reference/get-v1-partner-managed-companies-company-uuid-terms_of_service) for company-level status. + + Retrieve the user acceptance status of the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms). + + scope: `terms_of_services:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '404': + description: Deprecated endpoint + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Retrieve-Terms-Of-Service-Request" + required: true + x-speakeasy-name-override: retrieveTermsOfService + "/v1/partner_managed_companies/{company_uuid}/terms_of_service": + get: + summary: Get the terms of service status for a company + operationId: get-v1-partner-managed-companies-company-uuid-terms_of_service + security: + - CompanyAccessAuth: [] + description: |- + Check if any company payroll admin has accepted the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms). + + This is useful for partners with multiple payroll admins who need to check TOS status at the company level rather than for a specific user. + + scope: `terms_of_services:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Terms-Of-Service-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Check terms of service status for a specific user + operationId: put-v1-partner-managed-companies-company-uuid-terms_of_service + security: + - CompanyAccessAuth: [] + description: |- + Check user-specific Terms of Service acceptance for the Gusto Embedded Payroll [Terms of Service](https://flows.gusto.com/terms). + + The user must have a role on the company. Returns whether the specific user has accepted the latest TOS version. + + Uses PUT (rather than GET) to hide the email address from URL logs. + + scope: `terms_of_services:read` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Terms-Of-Service-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Retrieve-Terms-Of-Service-Request" + required: true + post: + summary: Accept terms of service for a specific user + operationId: post-v1-partner-managed-companies-company-uuid-terms_of_service + security: + - CompanyAccessAuth: [] + description: |- + Accept the Gusto Embedded Payroll's [Terms of Service](https://flows.gusto.com/terms) on behalf of a specific user. The user must have a role on the company. + + scope: `terms_of_services:write` + tags: + - Companies + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Terms-Of-Service-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity - "amount": The company contributes a fixed amount per payroll. If elective is true, the contribution is matching, dollar-for-dollar. + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Partner-Managed-Company-Accept-Terms-Of-Service-Request" + required: true + "/v1/companies/{company_id}/pay_periods": + get: + summary: Get pay periods for a company + operationId: get-v1-companies-company_id-pay_periods + security: + - CompanyAccessAuth: [] + description: |- + Pay periods are the foundation of payroll. Compensation, time & attendance, taxes, and expense reports all rely on when they happened. - "percentage": The company contributes a percentage of the payroll amount per payroll period. If elective is true, the contribution is matching, dollar-for-dollar. + To begin submitting information for a given payroll, we need to agree on the time period. - "tiered": The company contribution varies according to the size of the employee deduction. - value: - description: |- - For the `amount` and `percentage` contribution types, the value of the corresponding amount or percentage. + By default, this endpoint returns pay periods starting from 6 months ago to the date today. Use the `start_date` and `end_date` parameters to change the scope of the response. End dates can be up to 3 months in the future and there is no limit on start dates. - For the `tiered` contribution type, an array of tiers. - oneOf: - - type: string - - type: object - properties: - tiers: - type: array - description: '' - items: - type: object - description: A single tier of a tiered matching scheme. - properties: - rate: - type: string - description: The percentage of employee deduction within this tier the company contribution will match. - threshold: - type: string - description: |- - The percentage threshold at which this tier ends (inclusive). - - For example, a value of "5" means the company contribution will match employee deductions from the previous tier's threshold up to and including 5% of payroll. - - If this is the first tier, a value of "5" means the company contribution will match employee deductions from 0% up to and including 5% of payroll. - threshold_delta: - type: string - description: The step up difference between this tier's threshold and the previous tier's threshold. In the first tier, this is equivalent to threshold. - elective: - type: boolean - description: Whether the company contribution is elective (aka matching). For "tiered" contribution types, this is always true. - default: false - company_contribution_annual_maximum: - type: string - description: The maximum company contribution amount per year. A null value signifies no limit. - nullable: true - limit_option: - type: string - description: |- - Some benefits require additional information to determine their limit. + Starting in version 2023-04-01, the `eligible_employees` attribute was removed from the response. The eligible employees for a payroll are determined by the employee_compensations returned from the [PUT /v1/companies/{company_id}/payrolls/{payroll_id}/prepare](ref:put-v1-companies-company_id-payrolls-payroll_id-prepare) endpoint. - `Family` and `Individual` are applicable to HSA benefit. + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: start_date + in: query + required: false + schema: + type: string + format: date + description: Start date (YYYY-MM-DD) for the pay periods range. Defaults to 6 months ago. + - name: end_date + in: query + required: false + schema: + type: string + format: date + description: End date (YYYY-MM-DD) for the pay periods range. Cannot be more than 3 months in the future. Defaults to today. + - name: payroll_types + in: query + required: false + schema: + type: string + enum: + - regular + - transition + - regular,transition + description: Comma-separated list of payroll types to include (regular, transition). Defaults to regular only. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Pay-Period" + '404': + description: | + Not Found - `Joint Filing or Single` and `Married and Filing Separately` are applicable to Dependent Care FSA benefit. - nullable: true - catch_up: - type: boolean - default: false - description: Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50. - retirement_loan_identifier: - type: string - description: Identifier for a 401(k) loan assigned by the 401(k) provider - coverage_amount: - type: string - description: 'The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.' - nullable: true - deduction_reduces_taxable_income: - type: string - default: unset - enum: - - unset - - reduces_taxable_income - - does_not_reduce_taxable_income - description: 'Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.' - nullable: true - coverage_salary_multiplier: - type: string - default: '0.00' - description: 'The coverage amount as a multiple of the employee’s salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.' - company_contribution: - type: string - default: '0.00' - description: The amount to be paid, per pay period, by the company. This field will not appear for tiered contribution types. - deprecated: true - contribute_as_percentage: - type: boolean - default: false - description: Whether the company_contribution value should be treated as a percentage to be added to each payroll. This field will not appear for tiered contribution types. - deprecated: true - Employee-Benefit: - description: The representation of an employee benefit. - type: object - title: '' - x-examples: - Example: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - company_contribution: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - retirement_loan_identifier: - deduct_as_percentage: false - contribute_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - contribution: - type: amount - value: '100.00' - elective: false - Tiered Example: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 73274962-63ce-4e5c-b689-1df8d4df09f4 - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - deduct_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - elective: true - contribution: - type: tiered - value: - tiers: - - rate: '100.0' - threshold: '2.0' - threshold_delta: '2.0' - - rate: '50.0' - threshold: '5.0' - threshold_delta: '3.0' - allOf: - - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" - - type: object - properties: - employee_uuid: - type: string - description: The UUID of the employee to which the benefit belongs. - readOnly: true - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - readOnly: true - uuid: - type: string - description: The UUID of the employee benefit. - readOnly: true - required: - - uuid - Employee-Benefit-For-Company-Benefit: - description: The representation of an employee benefit for a company benefit. - type: object - title: '' - allOf: - - "$ref": "#/components/schemas/Employee-Benefit-Base-Object" - - type: object - properties: - employee_uuid: - type: string - description: The UUID of the employee to which the benefit belongs. - company_benefit_uuid: - type: string - description: The UUID of the company benefit. - readOnly: true - uuid: - type: string - description: The UUID of the employee benefit. - readOnly: true - required: - - employee_uuid - Employee-Pay-Stub: - description: The representation of an employee pay stub information. - type: object - properties: - uuid: - type: string - description: The UUID of the employee pay stub. - readOnly: true - check_date: - type: string - description: The check date of the pay stub. - readOnly: true - gross_pay: - type: string - description: The gross pay amount for the pay stub. - readOnly: true - net_pay: - type: string - description: The net pay amount for the pay stub. - readOnly: true - payroll_uuid: - type: string - description: A unique identifier of the payroll to which the pay stub belongs. - readOnly: true - check_amount: - type: string - description: The check amount for the pay stub. - readOnly: true - x-tags: - - Payrolls - required: - - uuid - Pay-Period: - description: The representation of a pay period. - type: object - properties: - start_date: - type: string - description: The start date, inclusive, of the pay period. - readOnly: true - end_date: - type: string - minLength: 1 - description: The end date, inclusive, of the pay period. - pay_schedule_uuid: - type: string - description: A unique identifier of the pay schedule to which the pay period belongs. - readOnly: true - payroll: - type: object - description: Information about the payroll for the pay period. - properties: - payroll_uuid: - type: string - readOnly: true - description: The UUID of the payroll for this pay period. - check_date: - type: string - description: The date on which employees will be paid for the payroll if the payroll is submitted on time. - readOnly: true - processed: - type: boolean - readOnly: true - description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. - payroll_deadline: - type: string - format: date-time - description: The date by which payroll should be run for employees to be paid on time. Payroll data, such as time and attendance data, should be submitted on or before this date. - readOnly: true - payroll_type: - type: string - description: Whether it is regular pay period or transition pay period. - enum: - - regular - - transition - readOnly: true - readOnly: true - x-tags: - - Payrolls - Created-At-Type: + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getPayPeriods + "/v1/companies/{company_id}/pay_periods/unprocessed_termination_pay_periods": + get: + summary: Get termination pay periods for a company + operationId: get-v1-companies-company_id-unprocessed_termination_pay_periods + security: + - CompanyAccessAuth: [] + description: |- + When a payroll admin terminates an employee and selects "Dismissal Payroll" as the employee's final payroll, their last pay period will appear on the list. + + This endpoint returns the unprocessed pay periods for past and future terminated employees in a given company. + + scope: `payrolls:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - format: date-time - description: Datetime for when the resource was created. - readOnly: true - Off-Cycle-Reason-Type: + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: type: string - description: The off-cycle reason. Only included for off-cycle payrolls. - readOnly: true - nullable: true - enum: - - Benefit reversal - - Bonus - - Correction - - Dismissed employee - - Hired employee - - Wage correction - - Tax reconciliation - - Reversal - - Disability insurance distribution - - Transition from old pay schedule - Auto-Pilot-Type: - type: boolean - description: Indicates whether the payroll is an auto pilot payroll - readOnly: true - Payroll-Employee-Compensations-Type: - type: array - uniqueItems: false - items: - type: object - properties: - employee_uuid: - type: string - description: The UUID of the employee. - readOnly: true - excluded: - type: boolean - description: This employee will be excluded (skipped) from payroll calculation and will not be paid for the payroll. Cancelling a payroll would reset all employees' excluded back to false. - readOnly: true - version: + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Unprocessed-Termination-Pay-Period" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getUnprocessedTerminationPeriods + "/v1/companies/{company_id}/pay_schedules": + get: + summary: Get the pay schedules for a company + operationId: get-v1-companies-company_id-pay_schedules + security: + - CompanyAccessAuth: [] + description: |- + Returns all pay schedules for a company. The pay schedule object captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + + scope: `pay_schedules:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getAll + post: + summary: Create a new pay schedule + operationId: post-v1-companies-company_id-pay_schedules + security: + - CompanyAccessAuth: [] + description: |- + If a company does not have any pay schedules, this endpoint will create a single pay schedule and assign it to all employees. This is a common use case during company onboarding. + + If a company has an existing active pay schedule and want to support multiple pay schedules, this endpoint will create a pay schedule that is not assigned to any employee. + + Be sure to **[check state laws](https://www.dol.gov/agencies/whd/state/payday)** to know what schedule is right for your customers. + + > If an onboarded company misses their first pay date, Gusto will automatically adjust the pay schedule to the next available pay date. + + ### Webhooks + - `pay_schedule.created`: Fires when a pay schedule is successfully created. + + ### Related guides + - [Create a pay schedule](doc:create-a-pay-schedule) + - [Pay Schedules](doc:pay-schedule-info) + - [Manage Pay Schedules via API](doc:manage-pay-schedules-api) + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Create-Request" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: create + "/v1/companies/{company_id}/pay_schedules/preview": + get: + summary: Preview pay schedule dates + operationId: get-v1-companies-company_id-pay_schedules-preview + security: + - CompanyAccessAuth: [] + description: |- + Provides a preview of a pay schedule with the specified parameters for the next 18 months. Use this before creating or updating a pay schedule to show expected check dates, pay period boundaries, and payroll deadlines. + + ### Related guides + - [Create a pay schedule](doc:create-a-pay-schedule) + - [Manage Pay Schedules via API](doc:manage-pay-schedules-api) + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: frequency + in: query + required: true + schema: + type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + example: Twice per month + description: The frequency that employees on this pay schedule are paid with Gusto. + - name: anchor_pay_date + in: query + required: true + schema: + type: string + format: date + example: '2020-05-15' + description: The first date that employees on this pay schedule are paid with Gusto. + - name: anchor_end_of_pay_period + in: query + required: true + schema: + type: string + format: date + example: '2020-05-08' + description: The last date of the first pay period. This can be the same date as the anchor pay date. + - name: day_1 + in: query + required: false + schema: + type: integer + example: 15 + description: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. + - name: day_2 + in: query + required: false + schema: + type: integer + example: 31 + description: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. + - name: end_date + in: query + required: false + schema: + type: string + format: date + description: End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getPreview + "/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}": + get: + summary: Get a pay schedule + operationId: get-v1-companies-company_id-pay_schedules-pay_schedule_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a single pay schedule by UUID. The pay schedule object in Gusto captures the details of when employees work and when they should be paid. A company can have multiple pay schedules. + + scope: `pay_schedules:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: pay_schedule_id + in: path + description: The UUID of the pay schedule + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + x-speakeasy-group: paySchedules + put: + summary: Update a pay schedule + operationId: put-v1-companies-company_id-pay_schedules-pay_schedule_id + security: + - CompanyAccessAuth: [] + description: |- + Updates a pay schedule. The `version` parameter from the GET response is required for [optimistic concurrency](doc:api-fundamentals); a mismatch returns 409 Conflict. + + ### Effect on payrolls + Updating a pay schedule will delete any unprocessed regular payrolls whose pay period end date is today or in the future. Already-processed payrolls are not affected. + + ### Pay schedules may be automatically adjusted + If an onboarded company misses their first pay date, Gusto will automatically adjust the pay schedule to the next available pay date. + + ### Webhooks + - `pay_schedule.updated`: Fires when a pay schedule is successfully updated. + + ### Related guides + - [Create a pay schedule](doc:create-a-pay-schedule) + - [Manage Pay Schedules via API](doc:manage-pay-schedules-api) + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: pay_schedule_id + in: path + description: The UUID of the pay schedule + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Show" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Update-Request" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: update + "/v1/companies/{company_id}/pay_schedules/assignment_preview": + post: + summary: Preview pay schedule assignments for a company + operationId: post-v1-companies-company_id-pay_schedules-assignment_preview + security: + - CompanyAccessAuth: [] + description: |- + This endpoint returns the employee changes, including pay period and transition pay periods, for changing the pay schedule. + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Preview" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Body" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: previewAssignment + "/v1/companies/{company_id}/pay_schedules/assign": + post: + summary: Assign pay schedules for a company + operationId: post-v1-companies-company_id-pay_schedules-assign + security: + - CompanyAccessAuth: [] + description: |- + This endpoint assigns employees to pay schedules based on the schedule type. + For `by_employee` and `by_department` schedules, use the `partial_assignment` parameter to control the assignment scope. Set it to `true` for partial assignments (only some employees or departments at a time) and `false` for full assignments (all employees or departments at once). + + scope: `pay_schedules:write` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment-Body" + required: true + x-speakeasy-group: paySchedules + x-speakeasy-name-override: assign + "/v1/companies/{company_id}/pay_schedules/assignments": + get: + summary: Get pay schedule assignments for a company + operationId: get-v1-companies-company_id-pay_schedules-assignments + security: + - CompanyAccessAuth: [] + description: |- + This endpoint returns the current pay schedule assignment for a company, with pay schedule and employee/department mappings depending on the pay schedule type. + + scope: `pay_schedules:read` + tags: + - Pay Schedules + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Pay-Schedule-Assignment" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: paySchedules + x-speakeasy-name-override: getAssignments + "/v1/employees/{employee_id}/pay_stubs": + get: + summary: Get an employee's pay stubs + operationId: get-v1-employees-employee_uuid-pay_stubs + security: + - CompanyAccessAuth: [] + description: |- + Get an employee's pay stubs. + + Results are returned in reverse chronological order (newest first). + + scope: `pay_stubs:read` + x-gusto-integration-type: + - embedded + tags: + - Payrolls + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Pay-Stubs-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getPayStubs + "/v1/payrolls/{payroll_id}/employees/{employee_id}/pay_stub": + get: + summary: Get an employee pay stub (pdf) + operationId: get-v1-payrolls-payroll_uuid-employees-employee_uuid-pay_stub + security: + - CompanyAccessAuth: [] + description: |- + Get an employee's pay stub for the specified payroll. By default, an application/pdf response will be returned. No other content types are currently supported, but may be supported in the future. + + scope: `pay_stubs:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/pdf: + schema: + type: string + format: binary + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getPayStub + "/v1/companies/{company_id}/payrolls/{id}/partner_disbursements": + get: + summary: Get partner disbursements for a payroll + operationId: get-v1-companies-company_id-payrolls-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Get partner disbursements for a specific payroll. + + scope: `partner_disbursements:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Partner-Disbursements" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + patch: + summary: Update partner disbursements for a payroll + operationId: patch-v1-companies-company_id-payrolls-id-partner_disbursements + security: + - CompanyAccessAuth: [] + description: |- + Update partner disbursements for a specific payroll. + + scope: `partner_disbursements:write` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Partner-Disbursements" + '422': + description: mixed single and multiple errors example + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + disbursements: + type: array + items: + type: object + properties: + employee_uuid: type: string - description: The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - gross_pay: - type: number - description: The employee's gross pay, equal to regular wages + cash tips + payroll tips + any other additional earnings, excluding imputed income. This value is only available for processed payrolls. - nullable: true - readOnly: true - net_pay: - type: number - description: The employee's net pay, equal to gross_pay - employee taxes - employee deductions or garnishments - cash tips. This value is only available for processed payrolls. - nullable: true - readOnly: true - check_amount: - type: number - description: The employee's check amount, equal to net_pay + reimbursements. This value is only available for processed payrolls. - nullable: true - readOnly: true - payment_method: + description: UUID of the employee + example: 1a2b3c4d-5e6f-7890-abcd-ef1234567890 + payment_method: type: string - description: The employee's compensation payment method. enum: - - Check - - Direct Deposit - nullable: true - memo: + - Direct Deposit + - Check + description: Payment method for the employee + payment_status: type: string - description: Custom text that will be printed as a personal note to the employee on a paystub. - nullable: true - readOnly: true - fixed_compensations: - type: array - uniqueItems: false - description: An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. If this payroll has been processed, only fixed compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active fixed compensations are returned. - items: - type: object - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - amount: - type: string - description: The amount of the compensation for the pay period. - job_uuid: - type: string - description: The UUID of the job for the compensation. - readOnly: true - hourly_compensations: - type: array - uniqueItems: false - description: An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. If this payroll has been processed, only hourly compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active hourly compensations are returned. - items: - type: object - properties: - name: - type: string - description: The name of the compensation. This also serves as the unique, immutable identifier for this compensation. - hours: - type: string - description: The number of hours to be compensated for this pay period. - amount: - type: string - description: The amount of the compensation. This field is only available after the payroll is calculated and cannot be used for updating hourly compensations. - job_uuid: - type: string - description: The UUID of the job for the compensation. - readOnly: true - compensation_multiplier: - type: number - description: The amount multiplied by the base rate to calculate total compensation per hour worked. - readOnly: true - flsa_status: - type: string - description: The FLSA Status of the employee's primary job compensation - readOnly: true - paid_time_off: - type: array - uniqueItems: false - description: An array of all paid time off the employee is eligible for this pay period. - items: - type: object - properties: - name: - type: string - description: The name of the PTO. This also serves as the unique, immutable identifier for the PTO. - hours: - type: string - description: The hours of this PTO taken during the pay period. - final_payout_unused_hours_input: - type: string - description: The outstanding hours paid upon termination. This field is only applicable for termination payrolls. - benefits: - type: array - uniqueItems: false - description: An array of employee benefits for the pay period. Benefits are only included for processed payroll when the include parameter is present. - items: - type: object - properties: - name: - type: string - readOnly: true - employee_deduction: - type: number - readOnly: true - company_contribution: - type: number - readOnly: true - imputed: - type: boolean - readOnly: true - readOnly: true - deductions: - type: array - uniqueItems: false - description: An array of employee deductions for the pay period. Deductions are only included for processed payroll when the include parameter is present. - items: - type: object - properties: - name: - type: string - readOnly: true - amount: - type: number - readOnly: true - readOnly: true - readOnly: true - taxes: - type: array - uniqueItems: false - description: An array of employer and employee taxes for the pay period. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. - items: - type: object - properties: - name: - type: string - minLength: 1 - employer: - type: boolean - amount: - type: number - minLength: 1 - required: - - name - - employer - - amount - readOnly: true - readOnly: true - Payroll-Totals-Type: - type: object - description: The subtotals for the payroll. - properties: - company_debit: - type: string - description: The total company debit for the payroll. - readOnly: true - net_pay_debit: - type: string - minLength: 1 - description: The total company net pay for the payroll. - tax_debit: - type: string - description: The total tax debit for the payroll. - readOnly: true - reimbursement_debit: - type: string - description: The total reimbursement debit for the payroll. - readOnly: true - child_support_debit: - type: string - description: The total child support debit for the payroll. - readOnly: true - reimbursements: - type: string - description: The total reimbursements for the payroll. - readOnly: true - net_pay: - type: string - description: The net pay amount for the payroll. - readOnly: true - gross_pay: - type: string - description: The gross pay amount for the payroll. - readOnly: true - employee_bonuses: - type: string - description: The total employee bonuses amount for the payroll. - readOnly: true - employee_commissions: - type: string - description: The total employee commissions amount for the payroll. - readOnly: true - employee_cash_tips: - type: string - description: The total employee cash tips amount for the payroll. - readOnly: true - employee_paycheck_tips: - type: string - description: The total employee paycheck tips amount for the payroll. - readOnly: true - additional_earnings: - type: string - description: The total additional earnings amount for the payroll. - readOnly: true - owners_draw: - type: string - description: The total owner's draw for the payroll. - readOnly: true - check_amount: - type: string - description: The total check amount for the payroll. - readOnly: true - employer_taxes: - type: string - description: The total amount of employer paid taxes for the payroll. - readOnly: true - employee_taxes: - type: string - description: The total amount of employee paid taxes for the payroll. - readOnly: true - benefits: - type: string - description: The total amount of company contributed benefits for the payroll. - readOnly: true - employee_benefits_deductions: - type: string - description: The total amount of employee deducted benefits for the payroll. - readOnly: true - imputed_pay: - type: string - description: The total amount of imputed pay for the payroll. - readOnly: true - deferred_payroll_taxes: - type: string - description: The total amount of payroll taxes deferred for the payroll, such as allowed by the CARES act. - readOnly: true - other_deductions: - type: string - description: The total amount of deductions for the payroll. - readOnly: true - Payroll-Company-Taxes-Type: + enum: + - Pending + - Paid + - Not partner managed + - Converted to check + description: Status of the payment disbursement + required: + - employee_uuid + required: + - disbursements + "/v1/companies/{company_id}/payroll_reversals": + get: + summary: Get approved payroll reversals + operationId: get-v1-companies-company_id-payroll_reversals + security: + - CompanyAccessAuth: [] + description: |- + Returns all approved Payroll Reversals for a Company. + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - "$ref": "#/components/parameters/VersionHeader" + x-gusto-rswag: true + responses: + '200': + description: Example response + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Reversal-List" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getApprovedReversals + "/v1/companies/{company_id}/payrolls/{payroll_id}": + get: + summary: Get a single payroll + operationId: get-v1-companies-company_id-payrolls-payroll_id + security: + - CompanyAccessAuth: [] + description: |- + Returns a payroll. If payroll is calculated or processed, will return employee_compensations and totals. + + Results are paginated, with a maximum page size of 100 employee_compensations. + + Notes: + * Hour and dollar amounts are returned as string representations of numeric decimals. + * Hours are represented to the thousands place; dollar amounts are represented to the cent. + * Every eligible compensation is returned for each employee. If no data has yet be inserted for a given field, it defaults to "0.00" (for fixed amounts) or "0.000" (for hours ). + * When include parameter with benefits value is passed, employee_benefits:read scope is required to return benefits + * Benefits containing PHI are only visible with the `employee_benefits:read:phi` scope + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: include + in: query + explode: false + required: false + schema: type: array - uniqueItems: false - description: An array of taxes applicable to this payroll in addition to taxes included in `employee_compensations`. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter. items: - type: object - properties: - name: - type: string - description: The tax name - employer: - type: boolean - description: Whether this tax is an employer or employee tax - amount: - type: string - description: The amount of this tax for the payroll - Payroll-Payment-Speed-Changed-Type: - type: object - description: Only applicable when a payroll is moved to four day processing instead of fast ach. - properties: - original_check_date: - type: string - description: Original check date when fast ach applies. - readOnly: true - current_check_date: - type: string - description: Current check date. - readOnly: true - original_debit_date: - type: string - description: Original debit date when fast ach applies. - readOnly: true - current_debit_date: - type: string - description: Current debit date. - readOnly: true - reason: - type: string - description: The reason why the payroll is moved to four day. - readOnly: true - Payroll-Payroll-Status-Meta-Type: - type: object - description: Information about the payroll's status and expected dates - properties: - cancellable: - type: boolean - description: true if the payroll may be cancelled. - readOnly: true - expected_check_date: - type: string - description: The date an employee will be paid if the payroll is submitted now. - readOnly: true - initial_check_date: - type: string - description: The normal check date for the associated pay period. - readOnly: true - expected_debit_time: - type: string - description: The time the employer's account will be debited if the payroll is submitted now. - readOnly: true - payroll_late: - type: boolean - description: expected_check_date > initial_check_date. - readOnly: true - initial_debit_cutoff_time: - type: string - description: Payroll must be submitted at or before this time to avoid late payroll. - readOnly: true - Payroll-Pay-Period-Type: - type: object - properties: - start_date: - type: string - description: The start date, inclusive, of the pay period. - readOnly: true - end_date: - type: string - description: The start date, inclusive, of the pay period. - readOnly: true - pay_schedule_uuid: - type: string - description: The UUID of the pay schedule for the payroll. - readOnly: true - nullable: true - readOnly: true - Payroll-Withholding-Pay-Period-Type: + type: string + enum: + - benefits + - deductions + - taxes + - payroll_status_meta + - totals + - risk_blockers + - reversals + - payroll_taxes + description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: sort_by + in: query + required: false + schema: type: string - description: The payment schedule tax rate the payroll is based on. Only included for off-cycle payrolls. - readOnly: true - nullable: false - enum: - - Every week - - Every other week - - Twice per month - - Monthly - - Quarterly - - Semiannually - - Annually - Payroll-Deadline-Type: - type: string - format: date-time - description: A timestamp that is the deadline for the payroll to be run in order for employees to be paid on time. If payroll has not been run by the deadline, a prepare request will update both the check date and deadline to reflect the soonest employees can be paid and the deadline by which the payroll must be run in order for said check date to be met. - readOnly: true - Payroll-Check-Date-Type: + pattern: "^(first_name|last_name)(:(asc|desc))?(,(first_name|last_name)(:(asc|desc))?)*$" + example: first_name:asc + description: 'Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.' + x-gusto-rswag: true + responses: + '200': + description: successful with wait_for_reverse_wire credit blocker + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Show" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: get + put: + summary: Update a payroll by ID + operationId: put-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + This endpoint allows you to update information for one or more employees for a specific **unprocessed** payroll. You can think of the **unprocessed** + payroll object as a template of fields that you can update. You cannot modify the structure of the payroll object through this endpoint, only values + of the fields included in the payroll. If you do not include specific employee compensations, fixed/hourly compensations, or deductions in your request body, they + will not be removed from the payroll. A maximum of 100 employee_compensations can be updated at a time. Only the employee compensation objects that were + inputted will be returned. + + scope: `payrolls:write` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - description: The date on which employees will be paid for the payroll. - readOnly: true - Payroll-Processed-Type: - type: boolean - description: Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline. - readOnly: true - Payroll-Processed-Date-Type: + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: type: string - description: The date at which the payroll was processed. Null if the payroll isn't processed yet. - readOnly: true - Payroll-Calculated-At-Type: + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: type: string - description: A timestamp of the last valid payroll calculation. Null if there isn't a valid calculation. - readOnly: true - Payroll-Payroll-Uuid-Type: + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Prepared" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Update" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a payroll + operationId: delete-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + This endpoint allows you to delete an **unprocessed** payroll. + + By default the payroll and associated data is deleted synchronously. To request an asynchronous delete, use the `async=true` query parameter. In both cases validation of ability to delete will be performed and an Unprocessable Entity error will be returned if the payroll is not able to be deleted. A successful synchronous delete will return `204/No Content`. When a payroll has been enqueued for asynchronous deletion, `202/Accepted` will be returned. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: type: string - description: The UUID of the payroll. - readOnly: true - Payroll-Company-Uuid-Type: + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: type: string - description: The UUID of the company for the payroll. - readOnly: true - Payroll-Off-Cycle-Type: - type: boolean - description: Indicates whether the payroll is an off-cycle payroll - readOnly: true - Payroll-External-Type: - type: boolean - description: Indicates whether the payroll is an external payroll - readOnly: true - Payroll-Final-Termination-Payroll-Type: - type: boolean - description: Indicates whether the payroll is the final payroll for a terminated employee. Only included for off-cycle payrolls. - readOnly: true - Payroll-Skip-Regular-Deductions-Type: + - name: async + in: query + description: When true, request an asynchronous delete of the payroll. + schema: type: boolean - description: Block regular deductions and contributions for this payroll. Only included for off-cycle payrolls. - readOnly: true - nullable: false - Payroll-Fixed-Withholding-Rate-Type: - type: boolean - description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only included for off-cycle payrolls. - readOnly: true - nullable: false - Payroll-Fixed-Compensation-Types-Type: - type: array - items: - type: object - readOnly: true - properties: - name: - description: The name of an available type of fixed compensation. - type: string - readOnly: true - Payroll-Submission-Blockers-Type: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: no content + '202': + description: Accepted + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: delete + "/v1/companies/{company_id}/payrolls": + get: + summary: Get all payrolls for a company + operationId: get-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of payrolls for a company. You can change the payrolls returned by updating the processing_status, payroll_types, start_date, & end_date params. + + By default, will return processed, regular payrolls for the past 6 months. + + Notes: + * Dollar amounts are returned as string representations of numeric decimals, are represented to the cent. + * end_date can be at most 3 months in the future and start_date and end_date can't be more than 1 year apart. + * Results are paginated. Maximum page size is 100 payrolls per request; the default page size is 25. + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: processing_statuses + in: query + required: false + explode: false + description: Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` + schema: type: array - description: Only included for processed or calculated payrolls - uniqueItems: true items: - type: object - properties: - blocker_type: - type: string - description: The type of blocker that's blocking the payment submission. - readOnly: true - blocker_name: - type: string - description: The name of the submission blocker. - readOnly: true - unblock_options: - type: array - uniqueItems: true - items: - type: object - properties: - unblock_type: - type: string - description: The type of unblock option for the submission blocker. - readOnly: true - check_date: - type: string - description: The payment check date associated with the unblock option. - readOnly: true - metadata: - type: object - description: Additional data associated with the unblock option. - readOnly: true - description: The available options to unblock a submission blocker. - readOnly: true - selected_option: - type: string - description: The unblock option that's been selected to resolve the submission blocker. - nullable: true - readOnly: false - status: - type: string - description: The status of the submission blocker. - enum: - - unresolved - - resolved - Payroll-Credit-Blockers-Type: + type: string + enum: + - processed + - unprocessed + - name: payroll_types + in: query + required: false + explode: false + description: Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` + schema: type: array - description: Only included for processed payrolls - uniqueItems: true items: - type: object - properties: - blocker_type: - type: string - description: The type of blocker that's blocking the payment from being credited. - readOnly: true - blocker_name: - type: string - description: The name of the credit blocker. - readOnly: true - unblock_options: - type: array - uniqueItems: true - items: - type: object - properties: - unblock_type: - type: string - description: The type of unblock option for the credit blocker. - readOnly: true - check_date: - type: string - description: The payment check date associated with the unblock option. - readOnly: true - metadata: - type: object - description: Additional data associated with the unblock option. - readOnly: true - description: The available options to unblock a credit blocker. - readOnly: true - selected_option: - type: string - description: The unblock option that's been selected to resolve the credit blocker. - nullable: true - readOnly: false - status: - type: string - description: The status of the credit blocker - enum: - - unresolved - - pending_review - - resolved - - failed - Reversal-Payroll-Uuids-Type: + type: string + enum: + - regular + - off_cycle + - external + - name: processed + in: query + required: false + description: Whether to return processed or unprocessed payrolls + schema: + type: boolean + - name: include_off_cycle + in: query + required: false + description: Whether to include off cycle payrolls in the response + schema: + type: boolean + - name: include + in: query + explode: false + required: false + schema: type: array - description: Array of reversal payroll UUIDs, if applicable. - uniqueItems: true items: - type: string - description: The UUID of the reversal payroll. - nullable: false - readOnly: true - Payroll-Processing-Request: - type: object - nullable: true - properties: - status: - type: string - description: The status of the payroll processing request - readOnly: true - enum: - - calculating - - calculate_success - - submitting - - submit_success - - processing_failed - errors: - description: Errors that occurred during async payroll processing - readOnly: true - type: array - items: - "$ref": "#/components/schemas/Entity-Error-Object" - Payroll: - description: '' - type: object - x-tags: - - Payrolls - properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - totals: - "$ref": "#/components/schemas/Payroll-Totals-Type" - employee_compensations: - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" - company_taxes: - "$ref": "#/components/schemas/Payroll-Company-Taxes-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - submission_blockers: - "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" - credit_blockers: - "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" - processing_request: - "$ref": "#/components/schemas/Payroll-Processing-Request" - Payroll-Prepared: - description: '' - type: object - x-tags: - - Payrolls - properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" - check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" + type: string + enum: + - taxes + - payroll_status_meta + - totals + - risk_blockers + - reversals + description: Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` + - name: start_date + in: query + required: false + example: '2020-01-31' + description: Return payrolls whose pay period is after the start date + schema: + type: string + - name: end_date + in: query + required: false + example: '2020-01-31' + description: Return payrolls whose pay period is before the end date. If left empty, defaults to today's date. + schema: + type: string + - name: date_filter_by + in: query + required: false + description: Specifies which date field to use when filtering payrolls with start_date and end_date. This field applies only to regular processed payrolls and defaults to pay period if not provided. + schema: + type: string + enum: + - check_date + example: check_date + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: sort_order + in: query + required: false + description: A string indicating whether to sort resulting events in ascending (asc) or descending (desc) chronological order. Events are sorted by their `timestamp`. Defaults to asc if left empty. + schema: + type: string + enum: + - asc + - desc + example: asc + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create an off-cycle payroll + operationId: post-v1-companies-company_id-payrolls + security: + - CompanyAccessAuth: [] + description: |- + Creates a new, unprocessed, off-cycle payroll. + + ## `off_cycle_reason` + By default: + - External benefits and deductions will be included when the `off_cycle_reason` is set to `Correction`. + - All benefits and deductions are blocked when the `off_cycle_reason` is set to `Bonus`. + + These elections can be overridden with the `skip_regular_deductions` boolean. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Unprocessed" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - off_cycle + - off_cycle_reason + - start_date + - end_date + properties: off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" + type: boolean + description: Whether it is an off cycle payroll. off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" - withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" - skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" - fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - employee_compensations: - "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - fixed_compensation_types: - "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type" - processing_request: - "$ref": "#/components/schemas/Payroll-Processing-Request" - Payroll-Minimal: - description: '' - type: object - x-tags: - - Payrolls - properties: - payroll_deadline: - "$ref": "#/components/schemas/Payroll-Deadline-Type" + type: string + enum: + - Bonus + - Correction + - Adhoc + - Dismissed employee + - Transition from old pay schedule + description: An off cycle payroll reason. Select one from the following list. + start_date: + type: string + format: date + description: Pay period start date. + end_date: + type: string + format: date + description: Pay period end date. + pay_schedule_uuid: + description: A pay schedule is required for transition from old pay schedule payroll to identify the matching transition pay period. + type: string + employee_uuids: + description: A list of employee uuids to include on the payroll. + type: + - array + - 'null' + items: + type: string check_date: - "$ref": "#/components/schemas/Payroll-Check-Date-Type" - processed: - "$ref": "#/components/schemas/Payroll-Processed-Type" - processed_date: - "$ref": "#/components/schemas/Payroll-Processed-Date-Type" - calculated_at: - "$ref": "#/components/schemas/Payroll-Calculated-At-Type" - uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - payroll_uuid: - "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type" - company_uuid: - "$ref": "#/components/schemas/Payroll-Company-Uuid-Type" - off_cycle: - "$ref": "#/components/schemas/Payroll-Off-Cycle-Type" - off_cycle_reason: - "$ref": "#/components/schemas/Off-Cycle-Reason-Type" - auto_pilot: - "$ref": "#/components/schemas/Auto-Pilot-Type" - external: - "$ref": "#/components/schemas/Payroll-External-Type" - final_termination_payroll: - "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type" + type: string + format: date + description: Payment date. withholding_pay_period: - "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type" + description: The payment schedule tax rate the payroll is based on. + type: string + enum: + - Every week + - Every other week + - Twice per month + - Monthly + - Quarterly + - Semiannually + - Annually skip_regular_deductions: - "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type" + description: Block regular deductions and contributions for this payroll. + type: boolean fixed_withholding_rate: - "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type" - pay_period: - "$ref": "#/components/schemas/Payroll-Pay-Period-Type" - payroll_status_meta: - "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type" - totals: - "$ref": "#/components/schemas/Payroll-Totals-Type" - payment_speed_changed: - "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type" - created_at: - "$ref": "#/components/schemas/Created-At-Type" - submission_blockers: - "$ref": "#/components/schemas/Payroll-Submission-Blockers-Type" - credit_blockers: - "$ref": "#/components/schemas/Payroll-Credit-Blockers-Type" - reversal_payroll_uuids: - "$ref": "#/components/schemas/Reversal-Payroll-Uuids-Type" - required: - - company_uuid - - uuid - - payroll_uuid - - processed - Payroll-Blocker: - type: object - properties: - key: - type: string - description: The unique identifier of the reason - message: - type: string - description: User-friendly message describing the payroll blocker. - Payroll-Check: - type: object - properties: - payroll_uuid: - type: string - description: A unique identifier of the payroll. - printing_format: - type: string - description: The format the checks will be printed. - starting_check_number: - type: string - description: The starting check number for the checks being printed. - request_uuid: - type: string - description: A unique identifier of the Generated Document request - status: - type: string - description: Current status of the Generated Document - employee_check_number_mapping: - type: array - description: An array of mapping employee uuids to their check numbers - items: - type: object - properties: - employee_uuid: - type: string - description: The UUID for an employee - check_number: - type: number - description: The check number for the relevant employee - x-examples: - example-1: - payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 - printing_format: top - starting_check_number: '10' - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: pending - employee_check_number_mapping: - - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - check_number: 10 - Generated-Document: - type: object - properties: - request_uuid: - type: string - description: A unique identifier of the Generated Document request - status: - type: string - description: Current status of the Generated Document - enum: - - pending - - started - - succeeded - - failed - document_urls: - type: array - description: The array of urls to access the documents. - items: - type: string - x-examples: - example-1: - status: succeeded - document_urls: - - https://document.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - Report: - type: object - properties: - request_uuid: - type: string - description: A unique identifier of the report request - status: - type: string - description: Current status of the report, possible values are 'succeeded', 'pending', or 'failed' - report_urls: - type: array - description: The array of urls to access the report - items: - type: string - x-examples: - example-1: - status: succeeded - report_urls: - - https://report.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - Create-Report: - type: object - properties: - request_uuid: - type: string - description: A unique identifier of the report request - company_uuid: - type: string - description: Company UUID - custom_name: - type: string - description: Title of the report - file_type: - type: string - description: File type - x-examples: - example-1: - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - company_uuid: w83d0ca8-7d41-42a9-834y-7d218ef6cb20 - custom_name: Custom Report - file_type: csv - Report-Template: - type: object - properties: - columns: - type: array - description: List of columns recommended - items: - type: string - groupings: - type: array - description: List of groupings recommended - items: - type: string - company_uuid: - type: string - description: Company UUID - report_type: - type: string - description: Type of report template - x-examples: - example-1: - columns: - - regular_rate - - regular_hours - - regular_earnings - groupings: - - payroll - - employee - company_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - report_type: payroll_journal - Payroll-Receipt: - type: object - properties: - payroll_uuid: - type: string - description: A unique identifier of the payroll receipt. - company_uuid: - type: string - description: A unique identifier of the company for the payroll. - name_of_sender: - type: string - description: The name of the company by whom the payroll was paid - name_of_recipient: - type: string - description: Always the fixed string "Payroll Recipients" - recipient_notice: - type: string - description: Always the fixed string "Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below." - debit_date: - type: string - description: The debit or funding date for the payroll - license: - type: string - description: Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page." - license_uri: - type: string - description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" - right_to_refund: - type: string - description: '' - liability_of_licensee: - type: string - description: '' - totals: + description: Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. + type: boolean + is_check_only_payroll: + description: When true, all employees in the payroll will be paid by check and the check date can be set to today or any future business day (rather than requiring ACH lead time). Payment methods cannot be changed on check-only payrolls. + type: boolean + x-speakeasy-name-override: createOffCycle + "/v1/payrolls/{payroll_uuid}/receipt": + get: + summary: Get a single payroll receipt + operationId: get-v1-payment-receipts-payrolls-payroll_uuid + security: + - CompanyAccessAuth: [] + description: |- + Returns a payroll receipt. + + Notes: + * Hour and dollar amounts are returned as string representations of numeric decimals. + * Dollar amounts are represented to the cent. + * If no data has yet be inserted for a given field, it defaults to "0.00" (for fixed amounts). + + scope: `payrolls:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: payroll_uuid + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Receipt" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getReceipt + "/v1/companies/{company_id}/payrolls/{payroll_id}/cancel": + put: + summary: Cancel a payroll + operationId: put-api-v1-companies-company_id-payrolls-payroll_id-cancel + security: + - CompanyAccessAuth: [] + description: |- + Transitions a `processed` payroll back to the `unprocessed` state. A payroll can be canceled if it meets both criteria: + + - `processed` is `true` + - Current time is earlier than 4pm PT on the `payroll_deadline` + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessed-Payroll" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: cancel + "/v1/companies/{company_id}/payrolls/{payroll_id}/prepare": + put: + summary: Prepare a payroll for update + operationId: put-v1-companies-company_id-payrolls-payroll_id-prepare + security: + - CompanyAccessAuth: [] + description: |- + Prepares an unprocessed payroll for update, including: adding or removing eligible employees from the payroll, + and updating `check_date`, `payroll_deadline`, and `payroll_status_meta` dates and times. + + Use this endpoint before calling [PUT /v1/companies/{company_id}/payrolls/{payroll_id}](ref:put-v1-companies-company_id-payrolls). + + ### Notes + + * Nullifies `calculated_at` and `totals` if the payroll was previously calculated + * Returns the `version` parameter required for [updating the payroll](ref:put-v1-companies-company_id-payrolls) + * `employees:read` scope is required to include employee compensations data in the response. + * Results are paginated, with a maximum page size of 100 employee compensations. + + scope: `payrolls:write employees:read` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + - name: sort_by + in: query + required: false + schema: + type: string + pattern: "^(first_name|last_name)(:(asc|desc))?(,(first_name|last_name)(:(asc|desc))?)*$" + example: first_name:asc + description: 'Sort employee compensations by one or more fields. Options: first_name, last_name. Append `:asc` or `:desc` to specify direction (e.g., `last_name:asc` or `last_name:asc,first_name:asc`). Defaults to ascending.' + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Prepared" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employee_uuids: + type: + - array + - 'null' + description: An array of employee UUIDs. If passed, only those employees payroll items will be prepared. + items: + type: string + x-speakeasy-name-override: prepare + "/v1/companies/{company_id}/payrolls/{payroll_id}/calculate": + put: + summary: Calculate a payroll + operationId: put-v1-companies-company_id-payrolls-payroll_id-calculate + security: + - CompanyAccessAuth: [] + description: |- + Performs calculations for taxes, benefits, and deductions for an unprocessed payroll. The calculated payroll details provide a preview of the actual values that will be used when the payroll is run. + + This calculation is asynchronous and a successful request responds with a 202 HTTP status. To view the details of the calculated payroll, use the GET /v1/companies/{company_id}/payrolls/{payroll_id} endpoint with *include=taxes,benefits,deductions* params. + + If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers as described in the error responses. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: calculate + "/v1/companies/{company_uuid}/payrolls/blockers": + get: + summary: Get all payroll blockers for a company + operationId: get-v1-companies-payroll-blockers-company_uuid + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of reasons that prevent the company from running payrolls. See the [Payroll Blockers guide](doc:payroll-blockers) for a complete list of reasons. The list is empty if there are no payroll blockers. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Payroll-Blocker" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getBlockers + "/v1/companies/{company_uuid}/payrolls/skip": + post: + summary: Skip a payroll + operationId: post-companies-payroll-skip-company_uuid + security: + - CompanyAccessAuth: [] + description: |- + Submits a $0 payroll for employees associated with the pay schedule to skip payroll. This submission is asynchronous and a successful request responds with a 202 HTTP status. Upon success, the payroll is transitioned to the `processed` state. + + If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers as described in the error responses. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '202': + description: Accepted + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Blockers-Error" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + payroll_type: + type: string + description: Payroll type + enum: + - Regular + - Hired employee + - Dismissed employee + - Transition from old pay schedule + start_date: + type: string + description: Pay period start date + end_date: + type: string + description: Pay period end date. If left empty, defaults to today's date. Required when skipping a termination payroll (`payroll_type` = `Dismissed employee`). + pay_schedule_uuid: + type: string + description: The UUID of the pay schedule. Required when skipping a termination payroll (`payroll_type` = `Dismissed employee`). + employee_uuids: + description: An array of employees. This field is only applicable to new hire payroll and termination payroll + type: + - array + - 'null' + items: + type: string + required: + - payroll_type + required: true + x-speakeasy-name-override: skip + "/v1/companies/{company_id}/payrolls/{payroll_id}/submit": + put: + summary: Submit payroll + operationId: put-v1-companies-company_id-payrolls-payroll_id-submit + security: + - CompanyAccessAuth: [] + description: |- + Submits an unprocessed payroll to be calculated and run. This submission is asynchronous and a successful request responds with a 202 HTTP status. Upon success, transitions the payroll to the `processed` state. + + You should poll to ensure that payroll is processed successfully, as async errors only occur after async processing is complete. + + If the company is blocked from running payroll due to issues like incomplete setup, missing information or other compliance issues, the response will be 422 Unprocessable Entity with a categorization of the blockers as described in the error responses. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + submission_blockers: + type: array + description: An array of submission_blockers, each with a selected unblock option. + items: + "$ref": "#/components/schemas/Payroll-Submission-Blocker-Request-Type" + x-speakeasy-name-override: submit + "/v1/payrolls/{payroll_uuid}/gross_up": + post: + summary: Calculate gross up for a payroll + operationId: post-payrolls-gross-up-payroll_uuid + security: + - CompanyAccessAuth: [] + description: |- + Calculates gross up earnings for an employee's payroll, given net earnings. This endpoint is only applicable to off-cycle unprocessed payrolls. + + The gross up amount must then be mapped to the corresponding fixed compensation earning type to get the correct payroll amount. For example, for bonus off-cycles, the gross up amount should be set with the Bonus earning type in the payroll `fixed_compensations` field. + + scope: `payrolls:run` + tags: + - Payrolls + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + description: The UUID of the payroll + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Gross-Up-Response" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Gross-Up-Request" + required: true + x-speakeasy-name-override: calculateGrossUp + "/v1/payrolls/{payroll_id}/employees/{employee_id}/calculate_accruing_time_off_hours": + post: + summary: Calculate accruing time off hours + operationId: post-v1-payrolls-payroll_id-calculate_accruing_time_off_hours + security: + - CompanyAccessAuth: [] + description: |- + 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. + + scope: `payrolls:read` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_id + in: path + description: The UUID of the payroll + required: true + schema: + type: string + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Calculate-Accruing-Time-Off-Hours-Response" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Calculate-Accruing-Time-Off-Hours-Request" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: calculateAccruingTimeOffHours + "/v1/companies/{company_id}/people_batches": + post: + summary: Create a people batch + operationId: post-v1-companies-company_id-people_batches + security: + - CompanyAccessAuth: [] + description: |- + Creates a batch for bulk employee creation. + + The batch is processed asynchronously. Use the returned batch UUID to poll for status and results. + + scope: `people_batches:write` + tags: + - People Batches + x-gusto-integration-type: + - embedded + parameters: + - name: company_id + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/People-Batch" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: conflict - idempotency key already used + content: + application/json: + schema: + "$ref": "#/components/schemas/People-Batch-Conflict-Error" + '422': + description: unprocessable entity - validation errors + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - idempotency_key + - batch_action + - batch + properties: + idempotency_key: + type: string + format: uuid + description: A unique identifier to ensure idempotency of the batch request + example: 550e8400-e29b-41d4-a716-446655440000 + batch_action: + type: string + enum: + - create + description: The action to perform on the batch + example: create + batch: + type: array + description: Array of people to create + items: type: object - description: The subtotals for the payroll. + required: + - entity_type + - person properties: - company_debit: - type: string - description: The total company debit for the payroll. - net_pay_debit: - type: string - description: The total company net pay for the payroll. - child_support_debit: + entity_type: + type: string + enum: + - employee + description: The type of entity to create + example: employee + person: + type: object + required: + - external_id + - first_name + - last_name + properties: + external_id: type: string - description: The total child support debit for the payroll. - reimbursement_debit: + description: External identifier for the person + first_name: type: string - description: The total reimbursements for the payroll. - tax_debit: + description: Legal first name + last_name: type: string - description: The total tax debit for the payroll. - taxes: - type: array - description: An array of totaled employer and employee taxes for the pay period. - items: - type: object - properties: - name: - type: string - description: The amount paid for this tax. - amount: - type: string - description: The total amount paid by both employer and employee for this tax. - employee_compensations: - type: array - description: An array of employee compensations and withholdings for this payroll - items: + description: Legal last name + middle_initial: + type: + - string + - 'null' + maxLength: 1 + minLength: 1 + description: Middle initial + preferred_first_name: + type: + - string + - 'null' + description: Preferred first name + email: + type: + - string + - 'null' + format: email + description: Personal email address + work_email: + type: + - string + - 'null' + format: email + description: Work email address + ssn: + type: + - string + - 'null' + description: 'Social Security Number (format: xxx-xx-xxxx)' + date_of_birth: + type: + - string + - 'null' + format: date + description: Date of birth (YYYY-MM-DD) + self_onboarding: + type: + - boolean + - 'null' + description: Whether the employee will complete their own onboarding + home_address: type: object + description: Home address for the employee + required: + - street_1 + - city + - state + - zip properties: - employee_uuid: - type: string - description: The UUID of the employee. - employee_first_name: - type: string - description: The first name of the employee. - employee_last_name: - type: string - description: The last name of the employee. - payment_method: - type: string - description: The employee's compensation payment method.\n\n`Check` `Direct Deposit` - net_pay: - type: string - description: The employee's net pay. Net pay paid by check is available for reference but is not included in the `["totals"]["net_pay_debit"]` amount. - total_tax: - type: string - description: The total of employer and employee taxes for the pay period. - total_garnishments: - type: string - description: The total garnishments for the pay period. - child_support_garnishment: - type: string - description: The total child support garnishment for the pay period. - total_reimbursement: - type: string - description: The total reimbursement for the pay period. - licensee: - type: object - description: The licensed payroll processor - properties: - name: + street_1: type: string - description: Always the fixed string "Gusto, Zenpayroll Inc." - address: + description: Street address line 1 + street_2: type: string - description: Always the fixed string "525 20th St" - city: + description: Street address line 2 + city: type: string - description: Always the fixed string "San Francisco" - state: + description: City + state: type: string - description: Always the fixed string "CA" - postal_code: + description: State abbreviation + zip: type: string - description: Always the fixed string "94107" - phone_number: + description: ZIP code + x-speakeasy-name-override: zip_code + country: type: string - description: Always the fixed string "4157778888" - x-examples: - example-1: - totals: - company_debit: '1080.47' - net_pay_debit: '748.34' - child_support_debit: '100.0' - reimbursement_debit: '50.0' - tax: '182.13' - taxes: - - name: Federal Income Tax - amount: '30.36' - - name: Social Security - amount: '104.54' - - name: Medicare - amount: '24.46' - - name: Additional Medicare - amount: '0.0' - - name: TX SUTA - amount: '22.77' - - name: FUTA - amount: '0.0' - employee_compensations: - - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - employee_first_name: Patricia - employee_last_name: Hamill - payment_method: Direct Deposit - net_pay: '748.34' - total_tax: '182.13' - total_garnishments: '0.0' - child_support_garnishment: '100.0' - total_reimbursement: '50.0' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - payroll_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - name_of_recipient: Payroll Recipients - recipient_notice: Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below. - debit_date: '2022-06-02' - license: ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses - Payroll-Reversal: - type: object - properties: - reversed_payroll_uuid: - type: string - description: The UUID for the payroll run being reversed. - reversal_payroll_uuid: - type: string - description: The UUID of the payroll where the reversal was applied. - reason: - type: string - description: A reason provided by the admin who created the reversal. - approved_at: - type: string - description: Timestamp of when the reversal was approved. - nullable: true - category: - type: string - description: Category chosen by the admin who requested the reversal. - items: - type: integer - reversed_employee_uuids: - type: array - description: Array of affected employee UUIDs. - items: - type: string - Gross-Up-Pay: - type: object - properties: - gross_up: - type: string - description: Gross up earnings. - Contractor-Payment-Receipt: - type: object - x-examples: - example-1: - contractor_payment_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - name_of_recipient: Patricia Hamill - debit_date: '2022-06-02' - totals: - company_debit: '748.34' - contractor_payments: - - contractor_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - contractor_first_name: Patricia - contractor_last_name: Hamill - contractor_business_name: '' - contractor_type: Individual - payment_method: Direct Deposit - wage: '448.34' - bonus: '248.00' - reimbursement: '100.00' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - license: Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses - properties: - contractor_payment_uuid: - type: string - description: A unique identifier of the contractor payment receipt. - company_uuid: - type: string - description: A unique identifier of the company making the contractor payment. - name_of_sender: - type: string - description: The name of the company making the contractor payment. - name_of_recipient: - type: string - description: The individual or company name of the contractor receiving payment. - debit_date: - type: string - description: The debit date for the contractor payment. - format: date - example: '2022-05-30' - license: - type: string - description: Always the fixed string "Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page." - license_uri: - type: string - description: URL for the license information for the licensed payroll processor. Always the fixed string "https://gusto.com/about/licenses" - right_to_refund: - type: string - description: URL for information related to right to refund. Always the fixed string "https://gusto.com/about/licenses" - liability_of_licensee: - type: string - description: URL for information related to right to liability of licensee. Always the fixed string "https://gusto.com/about/licenses" - totals: - type: object - description: The subtotals for the contractor payment. - properties: - company_debit: + description: Country (defaults to USA) + work_from_home: + type: boolean + description: If true, a company work address will be created based on this home address and the `work_address` property is not allowed. + work_address: + type: object + description: Specify the company work location for the employee + required: + - location_uuid + properties: + location_uuid: type: string - description: The total company debit for the contractor payment. - contractor_payments: - type: array - description: An array of contractor payments for this contractor payment. - items: + format: uuid + description: UUID of an existing company work location + job: type: object + description: Job details for the employee (required if compensation is provided) + required: + - title + - hire_date properties: - contractor_uuid: - type: string - description: The UUID of the contractor. - contractor_first_name: - type: string - description: The first name of the contractor. Applies when `contractor_type` is `Individual`. - contractor_last_name: - type: string - description: The last name of the contractor. Applies when `contractor_type` is `Individual`. - contractor_business_name: - type: string - description: The business name of the contractor. Applies when `contractor_type` is `Business`. - contractor_type: - type: string - description: |- - The type of contractor. - - `Individual` `Business` - payment_method: - type: string - description: |- - The payment method. - - `Direct Deposit` `Check` `Historical Payment` `Correction Payment` - wage: - type: string - description: The fixed wage of the payment, regardless of hours worked. - bonus: - type: string - description: The bonus amount in the payment. - reimbursement: - type: string - description: The reimbursement amount in the payment. - licensee: - type: object - description: The licensed payroll processor - properties: - name: + title: type: string - description: Always the fixed string "Gusto, Zenpayroll Inc." - address: + description: Job title + hire_date: type: string - description: Always the fixed string "525 20th St" - city: + format: date + description: The date when the employee was hired or rehired for the job. + two_percent_shareholder: + type: boolean + description: Whether the employee owns at least 2% of the company. Can only be `true` for S-Corp companies. + state_wc_covered: + type: + - boolean + - 'null' + description: Whether this job is eligible for workers' compensation coverage in the state of Washington (WA). + state_wc_class_code: + type: + - string + - 'null' + description: The risk class code for workers' compensation in Washington state. Please visit [Washington state's Risk Class page](https://www.lni.wa.gov/insurance/rates-risk-classes/risk-classes-for-workers-compensation/risk-class-lookup#/) to learn more. + department: + type: object + description: Department details for the employee + required: + - department_uuid + properties: + department_uuid: type: string - description: Always the fixed string "San Francisco" - state: + format: uuid + description: UUID of an existing company department + compensation: + type: object + description: Compensation details for the employee (requires job to be provided) + required: + - rate + - payment_unit + - flsa_status + properties: + rate: type: string - description: Always the fixed string "CA" - postal_code: + description: The dollar amount paid per payment unit. + payment_unit: type: string - description: Always the fixed string "94107" - phone_number: + enum: + - Hour + - Week + - Month + - Year + - Paycheck + description: The unit accompanying the compensation rate. If the employee is an owner, rate should be `Paycheck`. + flsa_status: type: string - description: Always the fixed string "4157778888" - Custom-Field-Type: + enum: + - Exempt + - Salaried Nonexempt + - Nonexempt + - Owner + - Commission Only Exempt + - Commission Only Nonexempt + description: The FLSA status for this compensation. Salaried ('Exempt') employees are paid a fixed salary every pay period. Salaried with overtime ('Salaried Nonexempt') employees are paid a fixed salary every pay period, and receive overtime pay when applicable. Hourly ( 'Nonexempt') employees are paid for the hours they work, and receive overtime pay when applicable. Commissioned employees ('Commission Only Exempt') earn wages based only on commission. Commissioned with overtime ('Commission Only Nonexempt') earn wages based on commission, and receive overtime pay when applicable. Owners ('Owner') are employees that own at least twenty percent of the company. If selecting `Owner`, `payment_unit` must be `"Paycheck"`. + bank_accounts: + type: array + description: |- + Creates employee bank account(s) and payment method(s) for direct deposit. Payments can be split across accounts by Percentage or by Amount. If splitting payments by `Percentage`, all splits must have a `split_amount` and the percentages must add up to `100`. + If splitting payments by `Amount`, the priority is set based on the order of the bank accounts in the array and the last bank account is the remainder account (should have `split_amount` set to `null`). + items: + type: object + required: + - type + - account_type + - routing_number + - account_number + - split_by + properties: + name: + type: + - string + - 'null' + description: Account nickname + account_type: + type: string + enum: + - Checking + - Savings + description: Type of bank account + routing_number: + type: string + description: Bank routing number + account_number: + type: string + description: Bank account number + type: + type: string + enum: + - Direct Deposit + description: Payment type (must be Direct Deposit) + split_by: + type: string + enum: + - Amount + - Percentage + description: How to split deposits, must be the same for all bank accounts. If split_by is `Percentage`, then the split_amounts must add up to exactly 100. + split_amount: + type: + - string + - 'null' + description: Split amount in percentage or CENTS (`null` for remainder account) + required: true + "/v1/people_batches/{people_batch_uuid}": + get: + summary: Get a people batch + operationId: get-v1-people_batches-people_batch_uuid + security: + - CompanyAccessAuth: [] + description: |- + Returns the status and results of a people batch. + + Poll this endpoint to check the batch processing status and retrieve results. + + scope: `people_batches:read` + tags: + - People Batches + x-gusto-integration-type: + - embedded + parameters: + - name: people_batch_uuid + in: path + description: The UUID of the people batch + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/People-Batch-Results" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/plaid/processor_token": + post: + summary: Create a bank account from a plaid processor token + operationId: post-v1-plaid-processor_token + security: + - CompanyAccessAuth: [] + description: "This endpoint creates a new **verified** bank account by using a plaid processor token to retrieve its information.\n\n> \U0001F4D8\n> To create a token please use the [plaid api](https://plaid.com/docs/api/processors/#processortokencreate) and select \"gusto\" as processor.\n\n> \U0001F6A7 Warning - Company Bank Accounts\n>\n> If a default company bank account exists, it will be disabled and the new bank account will replace it as the company's default funding method.\n\nscope: `plaid_processor:write`" + tags: + - Bank Accounts + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: A JSON object containing bank information + content: + application/json: + schema: + "$ref": "#/components/schemas/Company-Bank-Account" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Plaid-Processor-Token-Request" + required: true + x-speakeasy-group: bankAccounts + x-speakeasy-name-override: createFromPlaidToken + "/v1/companies/{company_uuid}/recovery_cases": + get: + summary: Get all recovery cases for a company + operationId: get-recovery-cases + security: + - CompanyAccessAuth: [] + description: |- + Fetch all recovery cases for a company. + + scope: `recovery_cases:read` + tags: + - Recovery Cases + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Recovery-Case" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: recoveryCases + x-speakeasy-name-override: get + "/v1/recovery_cases/{recovery_case_uuid}/redebit": + put: + summary: Initiate a redebit for a recovery case + operationId: redebit-recovery-case + security: + - CompanyAccessAuth: [] + description: |- + After resolving the underlying bank error, initiate a redebit for an open recovery case. This submission is asynchronous and a successful request responds with a 202 HTTP status. + + It may take up to four business days for the ACH debit to process; in the meantime, the status of the recovery case will be in the `initiated_redebit` state. When funds are successfully redebited, the recovery case is transitioned to the `recovered` state. + + If the company has exceeded maximum redebit attempts, or if the recovery case is not in a redebitable state, the response will be 422 Unprocessable Entity. + + scope: `recovery_cases:write` + tags: + - Recovery Cases + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: recovery_case_uuid + in: path + required: true + description: The UUID of the recovery case + schema: + type: string + x-gusto-rswag: true + responses: + '202': + description: Accepted + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: recoveryCases + x-speakeasy-name-override: redebit + "/v1/employees/{employee_id}/recurring_reimbursements": + get: + summary: Get recurring reimbursements for an employee + operationId: get-v1-employees-employee_id-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Get all active recurring reimbursements for an employee. + + scope: `reimbursements:read` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + post: + summary: Create a recurring reimbursement + operationId: post-v1-employees-employee_id-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Create a recurring reimbursement for an employee. + + scope: `reimbursements:write` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - amount + properties: + description: + type: string + description: The description of the reimbursement + amount: + type: number + description: The dollar amount of the reimbursement + required: true + "/v1/recurring_reimbursements/{id}": + get: + summary: Get a recurring reimbursement + operationId: get-v1-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Get a specific recurring reimbursement. + + scope: `reimbursements:read` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + description: The UUID of the reimbursement + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update a recurring reimbursement + operationId: put-v1-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Update a recurring reimbursement. + + scope: `reimbursements:write` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + description: The UUID of the reimbursement + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Recurring-Reimbursement" + '409': + description: invalid version + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: invalid attributes + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + description: + type: string + description: The description of the reimbursement + amount: + type: number + description: The dollar amount of the reimbursement + required: true + delete: + summary: Delete a recurring reimbursement + operationId: delete-v1-recurring_reimbursements + security: + - CompanyAccessAuth: [] + description: |- + Delete (soft delete) a recurring reimbursement for an employee. + + scope: `reimbursements:write` + tags: + - Reimbursements + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: id + in: path + description: The UUID of the reimbursement + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: successful + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_uuid}/reports": + post: + summary: Create a custom report + operationId: post-companies-company_uuid-reports + security: + - CompanyAccessAuth: [] + description: |- + Create a custom report for a company. This endpoint initiates creating a custom report with custom columns, groupings, and filters. The `request_uuid` in the response can then be used to poll for the status and report URL upon completion using the [report GET endpoint](https://docs.gusto.com/embedded-payroll/reference/get-reports-request_uuid). This URL is valid for 10 minutes. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Create-Report" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Create-Report-Body" + required: true + x-speakeasy-name-override: createCustom + "/v1/payrolls/{payroll_uuid}/reports/general_ledger": + post: + summary: Create a general ledger report + operationId: post-payrolls-payroll_uuid-reports-general_ledger + security: + - CompanyAccessAuth: [] + description: |- + Create a general ledger report for a payroll. The report can be aggregated by different dimensions such as job or department. + + Use the `request_uuid` in the response with the [report GET endpoint](../reference/get-reports-request_uuid) to poll for the status and report URL upon completion. The retrieved report will be generated in a JSON format. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: payroll_uuid + in: path + required: true + description: The UUID of the payroll + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/General-Ledger-Report" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/General-Ledger-Report-Body" + required: true + "/v1/reports/{request_uuid}": + get: + summary: Get a report + operationId: get-reports-request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a company's report given the `request_uuid`. The response will include the report request's status and, if complete, the report URL. + + Reports containing PHI are inaccessible with `company_reports:read:tier_2_only` data scope + + scope: `company_reports:read` + tags: + - Reports + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: request_uuid + in: path + required: true + description: The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Report" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_uuid}/report_templates/{report_type}": + get: + summary: Get a report template + operationId: get-companies-company_uuid-report-templates-report_type + security: + - CompanyAccessAuth: [] + description: |- + Get a company's report template. The only supported report type is `payroll_journal`. The resulting columns and groupings from this endpoint can be used as a guidance to create the report using the POST create report endpoint. + + scope: `company_reports:write` + tags: + - Reports + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + required: true + description: The UUID of the company + schema: + type: string + - name: report_type + in: path + required: true + description: The report type + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + "$ref": "#/components/schemas/Report-Template" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-name-override: getTemplate + "/v1/employees/{employee_id}/salary_estimates": + post: + summary: Create a salary estimate for an employee + operationId: post-v1-employees-employee_id-salary_estimates + security: + - CompanyAccessAuth: [] + description: |- + Create a salary estimate for an employee. This endpoint helps calculate a reasonable salary for S Corp owners based on their occupation, experience level, location, and business revenue. + + A salary estimate must include: + - Annual net revenue of the business + - ZIP code for location-based salary data + - One or more occupations with experience levels and time percentages (must sum to 100%) + + Only one in-progress salary estimate can exist per employee at a time. If an in-progress estimate already exists, you must either accept it or use the update endpoint. + + scope: `salary_estimates:write` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: successfully created + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '422': + description: unprocessable entity - invalid parameters + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - zip_code + - occupations + properties: + annual_net_revenue: + type: + - number + - 'null' + description: The annual net revenue of the business (must be greater than 0) + example: 500000 + zip_code: + type: string + description: The ZIP code for location-based salary calculations + pattern: "^\\d{5}$" + example: '94107' + occupations: + type: array + description: Array of occupations. Time percentages must sum to 100%. + minItems: 1 + items: + type: object + required: + - code + - experience_level + - time_percentage + properties: + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code + example: '151252' + experience_level: + type: string + description: Experience level for this occupation + enum: + - novice + - intermediate + - average + - skilled + - expert + example: skilled + time_percentage: + type: string + format: float + description: Percentage of time spent in this occupation (as decimal, e.g., 1.0 = 100%) + minimum: 0 + maximum: 1 + example: '1.0' + primary: + type: boolean + description: Whether this is the primary occupation + example: true + required: true + "/v1/salary_estimates/{uuid}": + get: + summary: Get a salary estimate + operationId: get-v1-salary_estimates-id + security: + - CompanyAccessAuth: [] + description: |- + Retrieve a salary estimate by its UUID. Returns the estimated salary calculation along with all occupation details, revenue, and location information. + + scope: `salary_estimates:read` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: uuid + in: path + required: true + description: The UUID of the salary estimate + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update a salary estimate + operationId: put-v1-salary_estimates-id + security: + - CompanyAccessAuth: [] + description: |- + Update an existing salary estimate. You can modify the annual net revenue, ZIP code, and occupations. + + The salary estimate must not be finalized (accepted). Once accepted, salary estimates become read-only for record-keeping purposes. + + scope: `salary_estimates:write` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: uuid + in: path + required: true + description: The UUID of the salary estimate + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '422': + description: unprocessable entity - already finalized + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - zip_code + - occupations + properties: + annual_net_revenue: + type: + - number + - 'null' + description: The annual net revenue of the business (must be greater than 0) + example: 600000 + zip_code: + type: string + description: The ZIP code for location-based salary calculations + pattern: "^\\d{5}$" + example: '94107' + occupations: + type: array + description: Array of occupations. Time percentages must sum to 100%. + minItems: 1 + items: + type: object + required: + - code + - experience_level + - time_percentage + properties: + code: + type: string + description: Bureau of Labor Statistics (BLS) occupation code + example: '151252' + experience_level: + type: string + description: Experience level for this occupation + enum: + - novice + - intermediate + - average + - skilled + - expert + example: expert + time_percentage: + type: string + format: float + description: Percentage of time spent in this occupation (as decimal, e.g., 0.5 = 50%) + minimum: 0 + maximum: 1 + example: '0.6' + primary: + type: boolean + description: Whether this is the primary occupation + example: true + required: true + "/v1/salary_estimates/{uuid}/accept": + post: + summary: Accept a salary estimate + operationId: post-v1-salary_estimates-uuid-accept + security: + - CompanyAccessAuth: [] + description: |- + Accept and finalize a salary estimate. This associates the estimate with an employee job and marks it as accepted. + + Once accepted, the salary estimate becomes read-only for record-keeping purposes. The accepted salary can then be used to set up compensation for the employee. + + scope: `salary_estimates:write` + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: uuid + in: path + required: true + description: The UUID of the salary estimate + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Salary-Estimate" + '422': + description: unprocessable entity - invalid employee job + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employee_job_uuid + properties: + employee_job_uuid: + type: string + description: The UUID of the employee job to associate with this salary estimate + example: 7f5d3d93-6d6f-48c0-9f4e-cd12c2d3e4b2 + required: true + "/v1/salary_estimates/occupations": + get: + summary: Search for BLS occupations + operationId: get-v1-salary_estimates-occupations + security: + - SystemAccessAuth: [] + description: "Search for Bureau of Labor Statistics (BLS) occupations by name or keyword. This endpoint helps users find the appropriate occupation codes to use when creating or updating salary estimates.\n\nReturns a list of matching occupations with their codes, titles, and descriptions.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `salary_estimates:read`" + tags: + - Salary Estimates + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: search + in: query + required: true + description: Search term for occupation (minimum 3 characters) + example: software + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/BLS-Occupation" + '422': + description: unprocessable entity - search term too short + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/sandbox/generate_w2": + post: + summary: Generate a W2 form [DEMO] + operationId: post-v1-sandbox-generate_w2 + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n>\n> This action is only available in the Demo environment\n\nGenerates a W2 document for testing purposes.\n\nscope: `employees:write`" + tags: + - Employee Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Form" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employee_id: + type: string + description: The employee UUID. + year: + type: integer + description: 'Must be equal to or more recent than 2015. If not specified, defaults to the previous year. + +' + required: + - employee_id + required: true + x-speakeasy-group: employeeForms + x-speakeasy-name-override: generateW2 + "/v1/sandbox/generate_1099": + post: + summary: Generate a 1099 form [DEMO] + operationId: post-v1-sandbox-generate_1099 + security: + - CompanyAccessAuth: [] + description: "> \U0001F6A7 Demo action\n>\n> This action is only available in the Demo environment\n\nGenerates a 1099 document for testing purposes.\n\nscope: `contractors:write`" + tags: + - Contractor Forms + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: type: string - description: Input type for the custom field. enum: - - text - - currency - - number - - date - - radio - Employee-Custom-Field: - type: object - description: A custom field of an employee - properties: - id: - type: string - company_custom_field_id: - type: string - description: This is the id of the response object from when you get the company custom fields - name: - type: string - type: - "$ref": "#/components/schemas/Custom-Field-Type" - description: - type: string - value: - type: string - selection_options: - type: array - description: An array of options for fields of type radio. Otherwise, null. - nullable: true - items: - type: string - required: - - id - - company_custom_field_id - - name - - type - - value - Company-Custom-Field: - type: object - description: A custom field on a company - x-tags: - - Custom Fields - properties: - uuid: - type: string - description: UUID of the company custom field - name: - type: string - description: Name of the company custom field - type: - "$ref": "#/components/schemas/Custom-Field-Type" - description: - type: string - description: Description of the company custom field - selection_options: - type: array - description: An array of options for fields of type radio. Otherwise, null. - nullable: true - items: - type: string - required: - - uuid - - name - - type - Rehire: - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Form_1099" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + contractor_id: + type: string + description: The contractor UUID. + year: + type: integer + description: 'Must be equal to or more recent than 2015. If not specified, defaults to the previous year. + +' + required: + - contractor_id + required: true + x-speakeasy-group: contractorForms + x-speakeasy-name-override: generate1099 + "/v1/companies/{company_uuid}/signatories": + get: + summary: Get the signatories for a company + operationId: get-v1-companies-company_uuid-signatories + security: + - CompanyAccessAuth: [] + description: |- + Returns the signatories for a company. A company has at most one signatory. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:read` + tags: + - Signatories + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: list + post: + summary: Create a signatory + operationId: post-v1-company-signatories + security: + - CompanyAccessAuth: [] + description: |- + Creates a company signatory with complete information. The company must not already have a signatory. + + A signatory can legally sign forms once the identity verification process is successful. The signatory should be an officer, owner, general partner or LLC member manager, plan administrator, fiduciary, or an authorized representative who is designated to sign agreements on the company's behalf. An officer is the president, vice president, treasurer, chief accounting officer, etc. There can only be a single primary signatory in a company. + + ### Webhooks + - `signatory.created`: Fires when a signatory is successfully created. + + ### Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:manage` + tags: + - Signatories + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory-Create-Request" + required: true + x-speakeasy-name-override: create + "/v1/companies/{company_uuid}/signatories/invite": + post: + summary: Invite a signatory + operationId: post-v1-companies-company_uuid-signatories-invite + security: + - CompanyAccessAuth: [] + description: |- + Creates a signatory with minimal information. This signatory can be invited to provide more information through the [Update a signatory](ref:put-v1-companies-company_uuid-signatories-signatory_uuid) endpoint. This will start the identity verification process and allow the signatory to be verified to sign documents. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:manage` + tags: + - Signatories + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory-Invite-Request" + required: true + x-speakeasy-name-override: invite + "/v1/companies/{company_uuid}/signatories/{signatory_uuid}": + put: + summary: Update a signatory + operationId: put-v1-companies-company_uuid-signatories-signatory_uuid + security: + - CompanyAccessAuth: [] + description: |- + Updates a signatory that has been either invited or created. If the signatory has been created with minimal information through the [Invite a signatory](ref:post-v1-companies-company_uuid-signatories-invite) endpoint, then the first update must contain all attributes specified in the request body in order to start the identity verification process. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:write` + tags: + - Signatories + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: signatory_uuid + in: path + description: The UUID of the signatory + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '409': + description: Conflict + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Signatory-Update-Request" + required: true + x-speakeasy-name-override: update + delete: + summary: Delete a signatory + operationId: delete-v1-companies-company_uuid-signatories-signatory_uuid + security: + - CompanyAccessAuth: [] + description: |- + Deletes a company signatory. + + ## Related guides + - [Signatory Events](doc:signatory-events) + + scope: `signatories:manage` + tags: + - Signatories + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: signatory_uuid + in: path + description: The UUID of the signatory + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: delete + "/v1/employees/{employee_id}/terminations": + get: + summary: Get terminations for an employee + operationId: get-v1-employees-employee_id-terminations + security: + - CompanyAccessAuth: [] + description: |- + Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: getTerminations + post: + summary: Create an employee termination + operationId: post-v1-employees-employee_id-terminations + security: + - CompanyAccessAuth: [] + description: |- + Create a termination for an employee. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: Created + content: + application/json: + schema: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: effective_date: - type: string - description: The day when the employee returns to work. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - work_location_uuid: - type: string - description: The uuid of the employee's work location. - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. - enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - - not_set - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. + type: string + description: The employee's last day of work. + example: '2020-06-30' + run_termination_payroll: + type: boolean + description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + default: false + example: true + required: + - effective_date + example: + effective_date: '2020-06-30' + run_termination_payroll: false + required: true + x-speakeasy-name-override: createTermination + x-speakeasy-group: employeeEmployments + delete: + summary: Delete an employee termination + operationId: delete-v1-employees-employee_id-terminations + security: + - CompanyAccessAuth: [] + description: |- + Delete an employee termination. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: deleteTermination + "/v1/terminations/{employee_id}": + get: + summary: Get an employee termination + operationId: get-v1-terminations-employee_id + security: + - CompanyAccessAuth: [] + description: |- + Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:read` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + put: + summary: Update an employee termination + operationId: put-v1-terminations-employee_id + security: + - CompanyAccessAuth: [] + description: |- + Terminations are created whenever an employee is scheduled to leave the company. The only things required are an effective date (their last day of work) and whether they should receive their wages in a one-off termination payroll or with the rest of the company. + + Note that some states require employees to receive their final wages within 24 hours (unless they consent otherwise,) in which case running a one-off payroll may be the only option. + + scope: `employments:write` + tags: + - Employee Employments + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: Successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Termination" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + effective_date: + type: string + description: The employee's last day of work. + example: '2020-06-30' + run_termination_payroll: + type: boolean + description: If true, the employee should receive their final wages via an off-cycle payroll. If false, they should receive their final wages on their current pay schedule. + default: false + example: true + required: + - effective_date + example: + version: d487dd0b55dfcacdd920ccbdaeafa351 + effective_date: '2020-06-30' + run_termination_payroll: false + required: true + x-speakeasy-group: employeeEmployments + x-speakeasy-name-override: updateTermination + "/v1/companies/{company_uuid}/time_off/admin_approved_requests": + post: + summary: Create an admin-approved time off request + operationId: post-v1-companies-company_uuid-time_off-admin_approved_requests + security: + - CompanyAccessAuth: [] + description: |- + Create a pre-approved time off request on behalf of an employee (admin or system initiated). + The request is always created with approved status. + + scope: `time_off_requests:manage` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: employee_uuid: - type: string - description: The UUID of the employee. - readOnly: true - active: - type: boolean - description: Whether the employee's rehire has gone into effect. - readOnly: true - x-examples: - example-1: - version: 2e930d43acbdb241f8f14a2d531fa417 - employee_uuid: 8c290660-b6c9-4ad7-9f6e-ea146aaf79e8 - active: false - effective_date: '2024-06-30' - employment_status: seasonal - file_new_hire_report: false - work_location_uuid: 8cb87e2e-5b30-4c13-a4f4-bfffcbed1188 - two_percent_shareholder: false - Signatory: - description: The representation of a company's signatory - type: object - title: Signatory - x-tags: - - Signatories - properties: - uuid: - type: string - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - title: - type: string - nullable: true - phone: - type: string - nullable: true - email: - type: string - birthday: - type: string - nullable: true - is_admin: - type: boolean - description: Whether or not the signatory is also the payroll admin of the company. - has_ssn: - type: boolean - description: Indicates whether the signatory has an SSN in Gusto. - version: - type: string - description: The current version of the signatory. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - identity_verification_status: - type: string - enum: - - Pass - - Fail - - Skipped - description: |- - | | | - |---|---| - |__Status__| __Description__ | - | Pass | Signatory can sign all forms | - | Fail | Signatory cannot sign forms | - | Skipped | Signatory cannot sign Form 8655 until the form is manually uploaded as wet-signed | - | null | Identity verification process has not been completed | - nullable: true - home_address: - type: object - nullable: true - properties: - street_1: - type: string - street_2: - type: string - city: - type: string - state: - type: string - zip: - type: string - country: - type: string - default: USA - required: - - uuid - Flow: - description: The representation of a flow in Gusto white-label UI. - type: object - x-examples: - Example: - url: https://flows.gusto-demo.com/flows/lO2BHHAMCScPVV9G5WEURW0Im_nP9mGYloQgjUWbenQ - title: Flow - x-tags: - - Flows - properties: - url: - type: string - Unprocessed-Termination-Pay-Period: - description: The representation of an unprocessed termination pay period. - type: object - properties: + type: string + description: The UUID of the employee + policy_uuid: + type: string + description: The UUID of the time off policy + employer_note: + type: string + description: A note from the employer about the request + approver_uuid: + type: string + description: The UUID of the approving admin. Defaults to the primary payroll admin. start_date: - type: string - description: The start date of the pay period. - readOnly: true + type: string + description: The start date of the time off request (YYYY-MM-DD) end_date: - type: string - description: The end date of the pay period. - check_date: - type: string - description: The check date of the pay period. - readOnly: true - debit_date: - type: string - description: The debit date of the pay period. - employee_name: - type: string - description: The full name of the employee. - employee_uuid: - type: string - description: A unique identifier of the employee. - pay_schedule_uuid: - type: string - description: A unique identifier of the pay schedule to which the pay period belongs. - x-tags: - - Employee Employments - Pay-Schedule-Assignment: - description: The representation of a pay schedule assignment. - type: object - x-examples: - example-1: - type: by_employee - employees: - employee_uuid: f0238368-f2cf-43e2-9a07-b0265f2cec69 - pay_schedule_uuid: c277ac52-9871-4a96-a1e6-0c449684602a - properties: - type: - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - description: The pay schedule assignment type. - readOnly: true - nullable: true - hourly_pay_schedule_uuid: - type: string - description: Pay schedule for hourly employees. - readOnly: true - nullable: true - salaried_pay_schedule_uuid: - type: string - description: Pay schedule for salaried employees. - readOnly: true - nullable: true - default_pay_schedule_uuid: - type: string - description: Default pay schedule for employees. - readOnly: true - nullable: true - employees: - type: array - description: List of employees and their pay schedules. - readOnly: true - nullable: true - items: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee" - departments: - type: array - description: List of departments and their pay schedules. - readOnly: true - nullable: true - items: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Department" - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Employee: - type: object - x-examples: - example-1: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - properties: - employee_uuid: - type: string - description: The UUID of the employee. - pay_schedule_uuid: - type: string - description: The employee's pay schedule UUID. - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Department: - type: object - x-examples: - example-1: - department_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - properties: - department_uuid: - type: string - description: The UUID of the department. - pay_schedule_uuid: - type: string - description: The department's pay schedule UUID. - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Preview: - description: The representation of a pay schedule assignment preview. - type: object - x-examples: - example-1: - type: hourly_salaried - employee_changes: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - first_name: Penny - last_name: Parker - pay_frequency: Twice per month — Salaried pay schedule - first_pay_period: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: 2023-07-01 - end_date: 2023-08-01 - check_date: 2023-08-02 - transition_pay_period: - start_date: 2023-06-20 - end_date: 2023-06-30 - properties: - type: - type: string - enum: - - single - - hourly_salaried - - by_employee - - by_department - description: The pay schedule assignment type. - readOnly: true - nullable: true - employee_changes: - type: array - description: A list of pay schedule changes including pay period and transition pay period. - items: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Employee-Change" - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Employee-Change: - type: object - x-examples: - example-1: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - first_name: Penny - last_name: Parker - pay_frequency: Twice per month — Salaried pay schedule - first_pay_period: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: 2023-07-01 - end_date: 2023-08-01 - check_date: 2023-08-02 - transition_pay_period: - start_date: 2023-06-20 - end_date: 2023-06-30 - properties: - employee_uuid: - type: string - description: The UUID of the employee. - readOnly: true - first_name: - type: string - description: The employee's first name. - readOnly: true - last_name: - type: string - description: The employee's last name. - readOnly: true - pay_frequency: - type: string - description: New pay schedule frequency and name. - readOnly: true - first_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Pay-Period" - transition_pay_period: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Transition-Pay-Period" - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Pay-Period: - description: Pay schedule assignment first pay period information. - type: object - x-examples: - example-1: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: 2023-07-01 - end_date: 2023-08-01 - check_date: 2023-08-02 - properties: - pay_schedule_uuid: - type: string - description: The pay schedule UUID. + type: string + description: The end date of the time off request (YYYY-MM-DD) + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"})' + required: + - employee_uuid + - policy_uuid + - start_date + - end_date + - days + required: true + "/v1/companies/{company_uuid}/time_off/balances": + get: + summary: Get time off balances for a company + operationId: get-v1-companies-company_uuid-time_off-balances + security: + - CompanyAccessAuth: [] + description: |- + Get time off balances for all employees in a company + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: employee_uuids + in: query + required: false + description: Filter by employee UUIDs (comma-separated) + schema: + type: string + - name: policy_uuids + in: query + required: false + description: Filter by time off policy UUIDs (comma-separated) + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Balance" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/companies/{company_uuid}/time_off/requests": + get: + summary: List time off requests for a company + operationId: get-v1-companies-company_uuid-time_off-requests + security: + - CompanyAccessAuth: [] + description: |- + Get all time off requests for a company. Supports filtering by status, employee, and date ranges. + + Possible statuses: + - `pending` — awaiting approval + - `approved` — approved by an admin but not yet processed in a payroll + - `declined` — declined by an admin + - `consumed` — processed in a completed payroll + + Allowed values for `status`: pending, approved, declined, consumed. + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: employee_uuids + in: query + required: false + description: Filter by employee UUIDs. Comma-separated for multiple values. + schema: + type: string + - name: status + in: query + required: false + description: Filter by request status. Comma-separated for multiple values (e.g. pending,approved,declined,consumed). + schema: + type: string + - name: start_date + in: query + required: false + description: Filter requests that overlap with this start date + schema: + type: string + - name: end_date + in: query + required: false + description: Filter requests that overlap with this end date + schema: + type: string + - name: sort_order + in: query + required: false + description: Sort order by start_date (asc or desc, defaults to desc) + schema: + type: string + - name: page + in: query + required: false + description: The page that is requested + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + post: + summary: Create a time off request + operationId: post-v1-companies-company_uuid-time_off-requests + security: + - CompanyAccessAuth: [] + description: |- + Create a time off request for an employee + + scope: `time_off_requests:write` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employee_uuid: + type: string + description: The UUID of the employee + policy_uuid: + type: string + description: The UUID of the time off policy + employee_note: + type: string + description: A note from the employee about the request start_date: - type: string - description: Pay period start date. + type: string + description: The start date of the time off request (YYYY-MM-DD) end_date: - type: string - description: Pay period end date. - check_date: - type: string - description: Pay period check date. - x-tags: - - Pay Schedules - Pay-Schedule-Assignment-Transition-Pay-Period: - description: Pay schedule assignment transition pay period information. - type: object - x-examples: - example-1: - start_date: 2023-07-01 - end_date: 2023-08-01 - properties: + type: string + description: The end date of the time off request (YYYY-MM-DD) + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"})' + required: + - employee_uuid + - policy_uuid + - start_date + - end_date + - days + required: true + "/v1/companies/{company_uuid}/time_off/requests/preview": + post: + summary: Preview a time off request + operationId: post-v1-companies-company_uuid-time_off-requests-preview + security: + - CompanyAccessAuth: [] + description: |- + Preview a time off request to see balance impact before creating + + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request-Preview" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + request_uuid: + type: string + description: The UUID of an existing time off request to preview changes for + employee_uuid: + type: string + description: The UUID of the employee + policy_uuid: + type: string + description: The UUID of the time off policy start_date: - type: string - description: Pay period start date. + type: string + description: The start date of the time off request (YYYY-MM-DD) end_date: - type: string - description: Pay period end date. - x-tags: - - Pay Schedules - Accruing-Time-Off-Hour: - description: The representation of an unprocessed termination pay period. - type: object - properties: - time_off_policy_uuid: - type: string - description: A unique identifier of the time off policy. - hours: - type: string - description: Hours accrued during this pay period. - Employee-Federal-Tax: - title: Employee-Federal-Tax - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - filing_status: - type: string - description: |- - It determines which tax return form an individual will use and is an important factor in computing taxable income. One of: - - Single - - Married - - Head of Household - - Exempt from withholding - - Married, but withhold as Single (does not apply to rev_2020_w4 form) - nullable: true - extra_withholding: - type: string - description: An employee can request an additional amount to be withheld from each paycheck. - nullable: true - two_jobs: - type: boolean - description: If there are only two jobs (i.e., you and your spouse each have a job, or you have two), you can set it to true. - nullable: true - dependents_amount: - type: string - description: A dependent is a person other than the taxpayer or spouse who entitles the taxpayer to claim a dependency exemption. - nullable: true - other_income: - type: string - description: Other income amount. - nullable: true - deductions: - type: string - description: Deductions other than the standard deduction to reduce withholding. - nullable: true - w4_data_type: - type: string - description: The version of w4 form. - enum: - - pre_2020_w4 - - rev_2020_w4 - federal_withholding_allowance: - type: number - description: |- - *does not apply to rev_2020_w4 form* + type: string + description: The end date of the time off request (YYYY-MM-DD) + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"})' + required: + - employee_uuid + - policy_uuid + - start_date + - end_date + - days + required: true + "/v1/time_off/requests/{time_off_request_uuid}": + get: + summary: Get a time off request + operationId: get-v1-time_off-requests-time_off_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a single time off request by UUID - An exemption from paying a certain amount of income tax. - additional_withholding: - type: boolean - description: "*does not apply to rev_2020_w4 form*" - required: - - version - - w4_data_type - - filing_status - - extra_withholding - - two_jobs - - dependents_amount - - other_income - - deductions - x-examples: - Example: - value: - version: 56a489ce86ed6c1b0f0cecc4050a0b01 - filing_status: Single - extra_withholding: '0.0' - two_jobs: true - dependents_amount: '0.0' - other_income: '0.0' - deductions: '0.0' - w4_data_type: rev_2020_w4 - x-tags: - - Employee Tax Setup - Employee-State-Tax: - title: Employee-State-Tax - type: object - x-examples: - example-1: - employee_uuid: 2005e601-3c78-410a-9d40-b960ae130383 - state: CA - questions: - - label: Filing Status - description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + scope: `time_off_requests:read` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + delete: + summary: Delete a time off request + operationId: delete-v1-time_off-requests-time_off_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Delete a time off request -' - key: filing_status - input_question_format: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of household - - value: E - label: Do Not Withhold - answers: - - value: S - valid_from: '2010-01-01' - valid_up_to: - - label: Withholding Allowance - description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. + scope: `time_off_requests:write` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: no content + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity -' - key: withholding_allowance - input_question_format: - type: Number - answers: - - value: 1 - valid_from: '2010-01-01' - valid_up_to: - - label: Additional Withholding - description: You can withhold an additional amount of California income taxes here. - key: additional_withholding - input_question_format: - type: Currency - answers: - - value: '0.0' - valid_from: '2010-01-01' - valid_up_to: - - label: File a New Hire Report? - description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. - key: file_new_hire_report - input_question_format: - type: Select - options: - - value: true - label: Yes, file the state new hire report for me. - - value: false - label: No, I have already filed. - answers: - - value: true - valid_from: '2010-01-01' - valid_up_to: - x-tags: - - Employee Tax Setup - properties: - employee_uuid: - type: string - description: The employee's uuid - state: - type: string - description: Two letter US state abbreviation - file_new_hire_report: - type: boolean - nullable: true - is_work_state: - type: boolean - questions: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax-Question" - required: - - employee_uuid - - state - - questions - Employee-State-Tax-Question: - title: Employee-State-Tax-Question - type: object - x-examples: - example-1: - label: Filing Status - description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + "/v1/time_off/requests/{time_off_request_uuid}/approve": + put: + summary: Approve a time off request + operationId: put-v1-time_off-requests-time_off_request_uuid-approve + security: + - CompanyAccessAuth: [] + description: |- + Approve a pending time off request. Optionally override the dates and hours. -' - key: filing_status - input_question_format: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of household - - value: E - label: Do Not Withhold - answers: - - value: S - valid_from: '2010-01-01' - valid_up_to: - x-tags: - - Employee Tax Setup - properties: - label: - type: string - description: A short title for the question - description: - type: string - description: An explaination of the question - this may contain inline html formatted links. - key: - type: string - description: A unique identifier of the question (for the given state) - used for updating the answer. - input_question_format: - "$ref": "#/components/schemas/Employee-State-Tax-Input-Question-Format" - answers: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax-Answer" - required: - - label - - description - - key - - input_question_format - - answers - Employee-State-Tax-Answer: - title: Employee-State-Tax-Answer - type: object - x-examples: - example-1: - value: '0.0' - valid_from: '2010-01-01' - valid_up_to: - x-tags: - - Employee Tax Setup - properties: - value: - nullable: true - oneOf: - - type: string - - type: number - - type: boolean - description: The answer to the corresponding question - this may be a string, number, boolean, or null. - valid_from: - type: string - description: The effective date of the answer - currently always “2010-01-01”. - valid_up_to: - description: The effective end date of the answer - currently always null. - nullable: true - Employee-State-Tax-Input-Question-Format: - title: Employee-State-Tax-Input-Question-Format - type: object - x-examples: - select-example: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of household - - value: E - label: Do Not Withhold - number-example: - type: Number - x-tags: - - Employee Tax Setup - properties: - type: - type: string - description: Describes the type of question - Text, Number, Select, Currency, Date - options: - type: array - uniqueItems: true - description: For "Select" type questions, the allowed values and display labels. - items: - type: object - properties: - value: - description: An allowed value to answer the question - oneOf: - - type: string - - type: boolean - - type: number - label: - type: string - description: A display label that corresponds to the answer value - required: - - label - required: - - type - Federal-Tax-Details: - title: Federal-Tax-Details - type: object - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - tax_payer_type: - type: string - nullable: true - description: |- - What type of tax entity the company is. One of: - - C-Corporation - - S-Corporation - - Sole proprietor - - LLC - - LLP - - Limited partnership - - Co-ownership - - Association - - Trusteeship - - General partnership - - Joint venture - - Non-Profit - taxable_as_scorp: - type: boolean - description: |- - Whether the company is taxed as an S-Corporation. Tax payer types that may be taxed as an S-Corporation include: - - S-Corporation - - C-Corporation - - LLC - filing_form: - type: string - description: |- - The form used by the company for federal tax filing. One of: - - 941 (Quarterly federal tax return form) - - 944 (Annual federal tax return form) - has_ein: - type: boolean - description: Whether company's Employer Identification Number (EIN) is present - ein_verified: - type: boolean - description: 'Whether the EIN was able to be verified as a valid EIN with the IRS. ' - legal_name: - type: string - description: The legal name of the company - effective_date: - type: string - description: The date that these details took effect. - deposit_schedule: - type: string - description: |- - How often the company sends money to the IRS. One of: - - Semiweekly - - Monthly - x-examples: - Example: - value: - version: string - tax_payer_type: string - taxable_as_scorp: false - filing_form: string - has_ein: true - ein_verified: true - legal_name: string - effective_date: string - deposit_schedule: string - x-tags: - - Federal Tax Details - Employee-Bank-Account: - title: Employee-Bank-Account - type: object - x-examples: - Example: - value: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - properties: - uuid: - type: string - description: UUID of the bank account - employee_uuid: - type: string - description: UUID of the employee - account_type: - type: string - enum: - - Checking - - Savings - description: Bank account type - name: - type: string - description: Name for the bank account - routing_number: - type: string - description: The bank account's routing number - hidden_account_number: - type: string - description: Masked bank account number - x-tags: - - Employee Payment Method - required: - - uuid - Contractor-Bank-Account: - title: Contractor-Bank-Account - type: object - x-examples: - Example: - value: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - x-tags: - - Contractor Payment Method - properties: - uuid: - type: string - description: UUID of the bank account - contractor_uuid: - type: string - description: UUID of the employee - account_type: - type: string - enum: - - Checking - - Savings - description: Bank account type - name: - type: string - description: Name for the bank account - routing_number: - type: string - description: The bank account's routing number - hidden_account_number: - type: string - description: Masked bank account number - required: - - uuid - Employee-Payment-Method: - title: Employee-Payment-Method - type: object - x-examples: - Example-1: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Amount - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 500 - - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a - name: Chase Checking Account - priority: 2 - split_amount: 1000 - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - name: US Bank Checking Account - priority: 3 - split_amount: - Example-2: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 60 - - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a - name: Chase Checking Account - priority: 2 - split_amount: 40 - Example-3: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Check - description: '' - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. - type: - type: string - enum: - - Direct Deposit - - Check - description: The payment method type. If type is Check, then split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. - split_by: - type: string - enum: - - Amount - - Percentage - description: Describes how the payment will be split. If split_by is Percentage, then the split amounts must add up to exactly 100. If split_by is Amount, then the last split amount must be nil to capture the remainder. - nullable: true - splits: - type: array - nullable: true - items: - "$ref": "#/components/schemas/Payment-Method-Bank-Account" - x-tags: - - Employee Payment Method - Tax-Requirement: - type: object - x-examples: - ga-withholding-requirement-example: - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. - value: 1233214-AB - metadata: - type: account_number - mask: "#######-^^" - prefix: - properties: - key: - "$ref": "#/components/schemas/Tax-Requirement-Key" - applicable_if: - type: array - description: An array of references to other requirements within the requirement set. This requirement is only applicable if all referenced requirements have values matching the corresponding `value`. The primary use-case is dynamically hiding and showing requirements as values change. E.g. Show Requirement-B when Requirement-A has been answered with `false`. To be explicit, an empty array means the requirement is applicable. - items: - type: object - properties: - key: - "$ref": "#/components/schemas/Tax-Requirement-Key" - value: - description: The required value of the requirement identified by `key` - nullable: true - oneOf: - - type: boolean - - type: string - - type: number - label: - type: string - description: A customer facing description of the requirement - description: - nullable: true - type: string - description: A more detailed customer facing description of the requirement - value: - nullable: true - oneOf: - - type: string - - type: boolean - description: The "answer" - metadata: - "$ref": "#/components/schemas/Tax-Requirement-Metadata" - Tax-Requirement-Metadata: - type: object - x-examples: - select-example: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - tax_rate-example: - metadata: - type: tax_rate - validation: - type: min_max - min: '0.0004' - max: '0.081' - radio-example: - metadata: - type: radio - options: - - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly - short_label: Not Reimbursable - value: false - - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly - short_label: Reimbursable - value: true - account_number-example: - metadata: - type: account_number - mask: "######-##" - prefix: - properties: - type: - type: string - enum: - - text - - currency - - radio - - select - - percent - - account_number - - tax_rate - - workers_compensation_rate - description: | - Describes the type of requirement - each type may have additional metadata properties to describe possible values, formats, etc. - - - `text`: free-text input, no additional requirements - - `currency`: a value representing a dollar amount, e.g. `374.55` representing `$374.55` - - `radio`: choose one of options provided, see `options` - - `select`: choose one of options provided, see `options` - - `percent`: A decimal value representing a percentage, e.g. `0.034` representing `3.4%` - - `account_number`: An account number for a tax agency, more information provided by `mask` and `prefix` - - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing a tax rate of `3.4%`, see `validation` for additional validation guidance - - `workers_compensation_rate`: A decimal value representing a percentage, see `risk_class_code`, `risk_class_description`, and `rate_type` - readOnly: true - options: - type: array - description: "[for `select` or `radio`] An array of objects describing the possible values." - items: - type: object - properties: - label: - type: string - description: A customer facing label for the answer - value: - oneOf: - - type: string - - type: boolean - description: The actual value to be submitted - short_label: - type: string - description: A less verbose label that may sometimes be available - required: - - label - - value - risk_class_code: - type: string - description: "[for `workers_compensation_rate`] The industry risk class code for the rate being requested" - risk_class_description: - type: string - description: "[for `workers_compensation_rate`] A description of the industry risk class for the rate being requested" - rate_type: - type: string - description: | - [for `workers_compensation_rate`] The type of rate being collected. Either: - - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1% - - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr - enum: - - percent - - currency_per_hour - mask: - type: string - nullable: true - description: | - [for `account_number`] A pattern describing the format of the account number - - The mask is a sequence of characters representing the requirements of the actual account number. Each character in the mask represents a single character in the account number as follows: - - `#`: a digit (`\d`) - - `@`: a upper or lower case letter (`[a-zA-Z]`) - - `^`: an uppercase letter (`[A-Z]`) - - `%`: a digit or uppercase letter (`[0-9A-Z]`) - - any other character represents the literal character - - Examples: - - mask: `WHT-######` represents `WHT-` followed by 5 digits, e.g. `WHT-33421` - - mask: `%####-^^` supports values of `75544-AB` and `Z7654-HK` - prefix: - type: string - nullable: true - description: "[for `account_number`] A value that precedes the value to be collected - useful for display, but should not be submitted as part of the value. E.g. some tax agencies use an account number that is a company's federal ein plus two digits. In that case the mask would be `##` and the prefix `XXXXX1234`." - validation: + Only requests with a `pending` status can be approved. Attempting to approve a request that has already been `declined` or `consumed` will fail with a 422 error. + + scope: `time_off_requests:manage` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + approver_uuid: + type: string + description: The UUID of the admin approving the request. Defaults to the company's primary payroll admin. + employer_note: + type: string + description: A note from the employer about the approval + days: + type: object + additionalProperties: + type: string + description: 'An object where keys are dates in YYYY-MM-DD format and values are hours as string decimals (e.g. {"2025-01-20": "8.000"}). Use this to override the requested hours.' + "/v1/time_off/requests/{time_off_request_uuid}/decline": + put: + summary: Decline a time off request + operationId: put-v1-time_off-requests-time_off_request_uuid-decline + security: + - CompanyAccessAuth: [] + description: |- + Decline a pending or approved time off request. Requires an employer_note. + + scope: `time_off_requests:manage` + tags: + - Time Off Requests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_request_uuid + in: path + description: The UUID of the time off request + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Embedded-Time-Off-Request" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + employer_note: + type: string + description: Note explaining why the request was declined + approver_uuid: + type: string + description: The UUID of the admin declining the request. Defaults to the company's primary payroll admin. + required: + - employer_note + required: true + "/v1/companies/{company_uuid}/time_off_policies": + get: + summary: Get all time off policies for a company + operationId: get-v1-companies-company_uuid-time_off_policies + security: + - CompanyAccessAuth: [] + description: |- + Get all time off policies for a company + + scope: `time_off_policies:read` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Time-Off-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: getAll + post: + summary: Create a time off policy + operationId: post-v1-companies-company_uuid-time_off_policies + security: + - CompanyAccessAuth: [] + description: |- + Create a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Policy name required + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy-Request" + required: true + x-speakeasy-name-override: create + x-speakeasy-group: timeOffPolicies + "/v1/time_off_policies/{time_off_policy_uuid}": + get: + summary: Get a time off policy + operationId: get-v1-time_off_policies-time_off_policy_uuid + security: + - CompanyAccessAuth: [] + description: |- + Get a time off policy + + scope: `time_off_policies:read` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: get + put: + summary: Update a time off policy + operationId: put-v1-time_off_policies-time_off_policy_uuid + security: + - CompanyAccessAuth: [] + description: |- + Update a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Unlimited Policy updated with accrual rate + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - "$ref": "#/components/schemas/Time-Off-Policy-Update-Request" + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: update + "/v1/time_off_policies/{time_off_policy_uuid}/deactivate": + put: + summary: Deactivate a time off policy + operationId: put-v1-time_off_policies-time_off_policy_uuid-deactivate + security: + - CompanyAccessAuth: [] + description: |- + Deactivate a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Policy has pending time off requests + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: deactivate + "/v1/time_off_policies/{time_off_policy_uuid}/add_employees": + put: + summary: Add employees to a time off policy + operationId: put-v1-time_off_policies-time_off_policy_uuid-add_employees + security: + - CompanyAccessAuth: [] + description: |- + 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` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Add employees with no employees + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employees + properties: + employees: + type: array + items: type: object - description: "[for `tax_rate`] Describes the validation required for the tax rate" + required: + - uuid properties: + uuid: + type: string + description: The UUID of the employee + balance: type: - type: string - description: Describes the type of tax_rate validation rule - enum: - - one_of - - min_max - min: - type: string - description: "[for `min_max`] The inclusive lower bound of the tax rate" - max: - type: string - description: "[for `min_max`] The inclusive upper bound of the tax rate" - rates: - type: array - description: | - [for `one_of`] The possible, unformatted tax rates for selection. - - e.g. ["0.0", "0.001"] representing 0% and 0.1% - items: - type: string - required: - - type - required: - - type - description: '' - Tax-Requirement-Set: - type: object - x-examples: - tax-requirements-set-ga-registrations-example: - state: GA - key: registrations - label: Registrations - effective_from: - requirements: - - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. - value: 1233214-AB - metadata: - type: account_number - mask: "#######-^^" - prefix: - - key: 6c0911ab-5860-412e-bdef-6437cd881df5 - applicable_if: [] - label: DOL Account Number - description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. - value: 474747-88 - metadata: - type: account_number - mask: "######-##" - prefix: - description: '' - properties: - state: - "$ref": "#/components/schemas/State" - key: - "$ref": "#/components/schemas/Tax-Requirement-Set-Key" - label: - type: string - description: Customer facing label for the requirement set, e.g. "Registrations" - effective_from: - "$ref": "#/components/schemas/Tax-Requirement-Effective-From" - requirements: - type: array - items: - "$ref": "#/components/schemas/Tax-Requirement" - Tax-Requirements-State: - title: Tax-Requirements-State - type: object - x-examples: - tax-requirements-state-ga-example: - company_uuid: 6c14eac3-0da2-474d-bda1-786b3602d381 - state: GA - requirement_sets: - - state: GA - key: registrations - label: Registrations - effective_from: - requirements: - - key: 71653ec0-00b5-4c66-a58b-22ecf21704c5 - applicable_if: [] - label: Withholding Number - description: If you have run payroll in the past in GA, find your withholding number on notices received from the Georgia Department of Revenue, or call the agency at (877) 423-6711. If you don’t have a number yet, you should register the business online. The last two characters of your ID must be upper case letters. - value: 1233214-AB - metadata: - type: account_number - mask: "#######-^^" - prefix: - - key: 6c0911ab-5860-412e-bdef-6437cd881df5 - applicable_if: [] - label: DOL Account Number - description: If you have run payroll in the past in GA, find your DOL account number on notices received from the Georgia Department of Labor, or call the agency at (404) 232-3300. If you don’t have an account number yet, please follow the instructions here to register your business with the Georgia Dept. of Labor. - value: 474747-88 - metadata: - type: account_number - mask: "######-##" - prefix: - - state: GA - key: taxrates - label: Tax Rates - effective_from: '2022-01-01' - requirements: - - key: suireimbursable - applicable_if: [] - label: SUI Reimburser - description: Instead of paying state unemployment insurance (SUI) taxes quarterly, some businesses (like non-profits or government organizations) may be allowed to reimburse the state if one of their employees collects unemployment benefits. - value: false - metadata: - type: radio - options: - - label: No, we cannot reimburse the state—we have to pay SUI taxes quarterly - short_label: Not Reimbursable - value: false - - label: Yes, we can reimburse the state if an employee collects SUI benefits—we don’t have to pay SUI taxes quarterly - short_label: Reimbursable - value: true - - key: e0ac2284-8d30-4100-ae23-f85f9574868b - applicable_if: - - key: suireimbursable - value: false - label: Total Tax Rate - description: Haven't received your assigned rate yet? Find the new employer rate and enter it here. - value: '0.05' - metadata: - type: tax_rate - validation: - type: min_max - min: '0.0004' - max: '0.081' - - state: GA - key: depositschedules - label: Deposit Schedules - effective_from: '2022-01-01' - requirements: - - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c - applicable_if: [] - label: Deposit Schedule - description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. - value: Monthly - metadata: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - - state: GA - key: depositschedules - label: Deposit Schedules - effective_from: '2022-07-01' - requirements: - - key: 6ddfcbeb-94d3-4003-bfc2-8c6e1ca9f70c - applicable_if: [] - label: Deposit Schedule - description: Georgia rejects payments made on the wrong schedule. GA employers receive their schedule on a registration verification letter after registering with the Georgia Dept. of Revenue. If you are unsure, call the agency at (877) 423-6711. If you did not register your business yet, please register the business with the Georgia Dept. of Revenue. - value: Monthly - metadata: - type: select - options: - - label: Semiweekly - value: Semi-weekly - - label: Monthly - value: Monthly - - label: Quarterly - value: Quarterly - description: '' - properties: - company_uuid: - type: string - state: - "$ref": "#/components/schemas/State" - requirement_sets: - type: array - items: - "$ref": "#/components/schemas/Tax-Requirement-Set" - Tax-Requirement-Set-Key: - title: Tax-Requirement-Set-Key - type: string - description: An identifier for a set of requirements. A list of requirement sets can contain multiple sets with the same `key` and different `effective_from` values. - Tax-Requirement-Key: - title: Tax-Requirement-Key - type: string - description: An identifier for an individual requirement. Uniqueness is guaranteed within a requirement set. - Tax-Requirement-Effective-From: - title: Tax-Requirement-Effective-From - type: string - description: An ISO 8601 formatted date representing the date values became effective. Some requirement sets are effective dated, while others are not. Multiple requirement sets for the same state/key can/will exist with unique effective dates. If a requirement set is has an `effective_from` value, all requirement sets with the same key will also have an `effective_from` value. - nullable: true - State: - title: State - type: string - description: One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC) - Time-Off-Policy: - type: object - x-examples: - example: - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: test policy - policy_type: vacation - accrual_method: unlimited - is_active: true - employees: - - uuid: c61d1895-5cf8-4217-88c8-20d7c3132a04 - description: Representation of a Time Off Policy - properties: - uuid: - type: string - description: Unique identifier of a time off policy - company_uuid: - type: string - description: Unique identifier for the company owning the time off policy - name: - type: string - description: Name of the time off policy - policy_type: - type: string - description: Type of the time off policy - enum: - - vacation - - sick - accrual_method: - type: string - description: Policy time off accrual method - accrual_rate: - type: string - format: float - description: The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". - accrual_rate_unit: - type: string - format: float - description: The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". - paid_out_on_termination: - type: boolean - description: Boolean representing if an employee's accrued time off hours will be paid out on termination - accrual_waiting_period_days: - type: integer - description: Number of days before an employee on the policy will begin accruing time off hours - carryover_limit_hours: - type: string - format: float - description: The max number of hours an employee can carryover from one year to the next - max_accrual_hours_per_year: - type: string - format: float - description: The max number of hours an employee can accrue in a year - max_hours: - type: string - format: float - description: The max number of hours an employee can accrue - complete: - type: boolean - description: boolean representing if a policy has completed configuration - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - is_active: - type: boolean - description: boolean representing if a policy is active or not - employees: - type: array - description: List of employee UUIDs under a time off policy - items: - type: object - properties: - uuid: - type: string - required: - - uuid - - company_uuid - - name - - policy_type - - accrual_method - - is_active + - string + - 'null' + description: The starting balance for the employee + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: addEmployees + "/v1/time_off_policies/{time_off_policy_uuid}/remove_employees": + put: + summary: Remove employees from a time off policy + operationId: put-v1-time_off_policies-time_off_policy_uuid-remove_employees + security: + - CompanyAccessAuth: [] + description: |- + Remove employees from a time off policy + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Remove employees with no employees + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: - employees - Time-Off-Activity: - type: object - x-examples: - example: - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::AddToPolicy - event_description: 'Added to policy: Vacation Per Hour Worked' - effective_time: '2022-09-27T13:43:03.000-07:00' - balance: '0.0' - balance_change: '0.0' - description: Representation of a Time Off Activity - properties: - policy_uuid: - type: string - description: unique identifier of a time off policy - time_off_type: - type: string - description: Type of the time off activity - enum: - - vacation - - sick - policy_name: - type: string - description: The name of the time off policy for this activity - event_type: - type: string - description: The type of the time off event/activity - event_description: - type: string - description: A description for the time off event/activity - effective_time: - type: string - description: The datetime of the time off activity - balance: - type: string - format: float - description: The time off balance at the time of the activity - balance_change: - type: string - format: float - description: The amount the time off balance changed as a result of the activity - Holiday-Pay-Policy: - type: object - x-examples: - example: - version: 1b37938b017c7fd7116bada007072290 - company_uuid: b7845189-f12b-4378-918a-d2b9de3dc4ea - federal_holidays: - new_years_day: - selected: true - name: New Year's Day - date: January 1 - mlk_day: - selected: true - name: Martin Luther King, Jr. Day - date: Third Monday in January - presidents_day: - selected: false - name: Presidents' Day - date: Third Monday in February - memorial_day: - selected: true - name: Memorial Day - date: Last Monday in May - juneteenth: - selected: false - name: Juneteenth - date: June 19 - independence_day: - selected: true - name: Independence Day - date: July 4 - labor_day: - selected: false - name: Labor Day - date: First Monday in September - columbus_day: - selected: false - name: Columbus Day (Indigenous Peoples' Day) - date: Second Monday in October - veterans_day: - selected: true - name: Veterans Day - date: November 11 - thanksgiving: - selected: true - name: Thanksgiving - date: Fourth Thursday in November - christmas_day: - selected: true - name: Christmas Day - date: December 25 - employees: - uuid: 1ca3cd25-3eda-48c6-ac88-f0e7fb91a15a - description: Representation of a Holiday Pay Policy - properties: - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. - company_uuid: - type: string - description: A unique identifier for the company owning the holiday pay policy - federal_holidays: - type: array - description: List of the eleven supported federal holidays and their details - items: - type: object - properties: - new_years_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - mlk_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - presidents_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - memorial_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - juneteenth: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - independence_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - labor_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - columbus_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - veterans_day: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string - thanksgiving: - type: object - properties: - selected: - type: boolean - name: - type: string - date: - type: string + properties: employees: - type: array - description: List of employee uuids under a time off policy - items: - type: object - properties: - uuid: - type: string - required: - - version - - company_uuid - - federal_holidays - - employees - Paid-Holidays: - type: object - description: Representation of a company's paid holidays as descibed by their Holiday Pay Policy - properties: - schema: + type: array + items: type: object + required: + - uuid properties: - holiday_key: - type: string - description: the holiday's identifier - holiday_name: - type: string - description: the holiday's official name - start_date: - type: string - description: the holiday's start date (YYYY-MM-DD) - end_date: - type: string - description: the holiday's end date (YYYY-MM-DD) - Minimum-Wage: - type: object - description: Representation of a Minimum Wage - properties: - uuid: - type: string - description: unique identifier of a minimum wage - wage: - type: string - format: float - description: The wage rate for a minimum wage record. Represented as a float, e.g. "15.0". - wage_type: - type: string - description: The type of wage the minimum wage applies to, e.g. "Regular", "Regular-Industry-Specific". - effective_date: - type: string - format: date - description: The date the minimum wage rule is effective on. - authority: - type: string - description: The governing authority that created the minimum wage, e.g. "City", "State", or "Federal". - notes: - type: string - description: Description of parties the minimum wage applies to. - required: - - uuid - - wage - - wage_type - - effective_date - - authority - Notification: - type: object - x-examples: - example: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - company_uuid: 88f7cca1-dcad-4d20-84db-7fb80303d69f - title: 'Action required: Additional information needed to process payroll' - message: If we do not receive this information as soon as possible, your payroll may not be processed on time. - category: information_request - created_at: '2022-01-01T00:00:00.000Z' - due_at: '2022-02-01T00:00:00.000Z' - status: open - resources: - - entity_type: Employee - entity_uuid: 21b6f9ce-0ac4-4745-8d8a-127f8c0f00f2 - description: Representation of a notification - properties: - uuid: - type: string - description: Unique identifier of a notification. - company_uuid: - type: string - description: Unique identifier of the company to which the notification belongs. - title: - type: string - description: The title of the notification. This highlights the actionable component of the notification. - message: - type: string - description: The message of the notification. This provides additional context for the user and recommends a specific action to resolve the notification. - status: - type: string - description: Represents the notification's status as managed by our system. It is updated based on observable system events and internal business logic, and does not reflect resolution steps taken outside our system. This field is read-only and cannot be modified via the API. - enum: - - open - - resolved - - expired - category: - type: string - description: The notification's category. - actionable: - type: boolean - description: Indicates whether a notification requires action or not. If false, the notification provides critical information only. - can_block_payroll: - type: boolean - description: Indicates whether a notification may block ability to run payroll. If true, we suggest that these notifications are prioritized to your end users. - published_at: - type: string - description: Timestamp of when the notification was published. - due_at: - type: string - description: Timestamp of when the notification is due. If the notification has no due date, this field will be null. - template_variables: - type: object - description: An object containing template variables used to render the notification. The structure of this object depends on the notification category. Each category defines a fixed set of variable names (keys), which are always present. The values of these variables can vary depending on the specific notification instance. - additionalProperties: - type: string - resources: - type: array - description: An array of entities relevant to the notification - items: - type: object - properties: - entity_type: - type: string - description: The type of entity being described, could be “Contractor”, “Employee”, “BankAccount”, “Payroll”, “ContractorPayment”, “RecoveryCase”, or “Signatory” - entity_uuid: - type: string - description: Unique identifier of the entity - reference_type: - type: string - description: Optional. The type of a resource that is related to the one described by entity_type and entity_uuid. For instance, if the entity_type is “BankAccount”, the reference_type could be the “Employee” or “Contractor” to whom the bank account belongs. - reference_uuid: - type: string - description: Optional. Unique identifier of the reference. - required: - - entity_type - - entity_uuid - required: - - uuid - Event: - type: object - x-examples: - example: - uuid: f7397a24-57ad-4fae-b011-d258e8232900 - event_type: employee.bank_account.created - resource_type: Company - resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - entity_type: BankAccount - entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - timestamp: 1686784995 - description: Representation of an Event - properties: - uuid: - type: string - description: Unique identifier for the event. - event_type: - type: string - description: Description of the event (e.g., payroll.submitted, or company.form.signed). - resource_type: - type: string - enum: - - Company - description: Name of the parent resource of the described entity. - resource_uuid: - type: string - description: Unique identifier for the parent resource. - entity_type: - type: string - description: Name of the entity that the event corresponds to. - entity_uuid: - type: string - description: Unique identifier for the entity. - timestamp: - type: integer - description: Time at which this event was created. Measured in seconds since the Unix epoch. - required: - - uuid - Invoice-Data: - type: object - x-examples: - example: - active_companies: - - company_uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - active_employees: 5 - active_contractors: 3 - initial_invoice_period: 2022-01 - - company_uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - active_employees: 0 - active_contractors: 1 - initial_invoice_period: 2023-05 - description: Representation of a partners invoice data - properties: - active_companies: - type: array - description: The list of companies that are active within the invoice period - items: - type: object - properties: - company_uuid: - type: string - description: unique identifier for the company associated with the invoice data - active_employees: - type: integer - description: The number of active employees the company was or will be invoiced for that invoice period. Active employees are calculated as the count of onboarded employees hired before the end of the invoice period and not terminated before the start of the invoice period. - active_contractors: - type: integer - description: The number of active contractors the company was or will be invoiced for that invoice period. Active contractors are calculated as any contractor with an active contractor payment during the invoice period. - initial_invoice_period: - type: string - description: The first invoice period for the company. This will either be the invoice period of the first invoice-able event (first payroll or contractor payment) or the date they migrated to embedded, whichever is later. - Information-Request: - type: object - x-examples: - example: - uuid: 704c1291-274d-4552-aa5d-e7031023c2e5 - company_uuid: 3ac84ba3-87b3-40be-8523-d185dc243a6c - type: account_protection - status: pending_response - blocking_payroll: false - description: Representation of an information request - properties: - uuid: - type: string - description: Unique identifier of an information request - company_uuid: - type: string - description: Unique identifier of the company to which the information requests belongs - type: - type: string - description: The type of information request - enum: - - company_onboarding - - account_protection - - payment_request - - payment_error - status: - type: string - description: The status of the information request - enum: - - pending_response - - pending_review - - approved - blocking_payroll: - type: boolean - description: If true, this information request is blocking payroll, and may require response or requires review from our Risk Ops team. - Recovery-Case: - type: object - x-examples: - example: - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - status: open - latest_error_code: R01 - original_debit_date: 2023-10-11 - check_date: 2023-10-13 - payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d - contractor_payment_uuids: - amount_outstanding: 10499.43 - event_total_amount: 5912.07 - description: Representation of a recovery case - properties: - uuid: - type: string - description: Unique identifier of an recovery case - company_uuid: - type: string - description: Unique identifier of the company to which the recovery case belongs - status: - type: string - description: Status of the recovery case - enum: - - open - - redebit_initiated - - wire_initiated - - recovered - - lost - latest_error_code: - type: string - description: The latest bank error code for the recovery case. See [this doc](https://docs.gusto.com/embedded-payroll/docs/ach-codes-and-transaction-types) for a list of common ACH return codes. - original_debit_date: - type: string - description: Date when funds were originally debited from the company's bank account - check_date: - type: string - description: Check date for the associated payroll or contractor payments - payroll_uuid: - type: string - description: The uuid of the associated payroll for which the recovery case was created. If the recovery case was created for a contractor payment, this field will be null. - contractor_payment_uuids: - type: array - description: The uuids of the associated contractor payments for which the recovery case was created. If the recovery case was created for a payroll, this field will be null. - items: + uuid: type: string - amount_outstanding: - type: string - description: Amount outstanding for the recovery case - event_total_amount: - type: string - description: Total amount to be debited from the payroll or contractor payments - required: - - uuid - Ach-Transaction: - type: object - x-examples: - example: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 456e7890-e12b-34c5-d678-901234567890 - payment_event_type: Payroll - payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 - recipient_type: Employee - recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 - error_code: - transaction_type: Credit employee pay - payment_status: submitted - payment_direction: credit - payment_event_check_date: 2023-10-02 - payment_date: 2023-10-17 - amount: '123.00' - description: PAY 380654 - description: Representation of an ACH transaction - properties: - uuid: - type: string - description: Unique identifier of an ACH transaction - company_uuid: - type: string - description: Unique identifier of the company to which the ACH transaction belongs - payment_event_type: - type: string - description: The type of payment event associated with the ACH transaction - enum: - - Payroll - - ContractorPayment - payment_event_uuid: - type: string - description: Unique identifier for the payment event associated with the ACH transaction - recipient_type: - type: string - description: The type of recipient associated with the ACH transaction - enum: - - Employee - - Contractor - recipient_uuid: - type: string - description: Unique identifier for the recipient associated with the ACH transaction - error_code: - type: string - description: The error code associated with the ACH transaction, if any. If there is no error on the ACH transaction, this field will be nil. See [this article](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/) for a complete list of ACH return codes. - transaction_type: - type: string - description: The type of transaction associated with the ACH transaction - payment_status: - type: string - description: The status of the ACH transaction - enum: - - unsubmitted - - submitted - - successful - - failed - payment_direction: - type: string - description: The direction of the payment - enum: - - credit - - debit - payment_event_check_date: - type: string - description: The date of the payment event check associated with the ACH transaction - payment_date: - type: string - description: The date of the payment associated with the ACH transaction - amount: - type: string - description: The amount of money moved by the ACH transaction. This amount is always non-negative. - description: - type: string - description: The description of the ACH transaction. Can be used to identify the ACH transaction on the recipient's bank statement. - required: - - uuid - Wire-In-Request: - type: object - x-examples: - example: - uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: 21911761 - recipient_routing_number: 123454321 - additional_notes: Additional Notes - bank_name: JP Morgan Chase - date_sent: 2024-06-10 - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: '1014500.00' - requested_amount: '1014500.00' - wire_in_deadline: '2024-06-21T18:00:00Z' - description: Representation of a wire in request - properties: - uuid: - type: string - description: Unique identifier of a wire in request - status: - type: string - description: Status of the wire in - enum: - - awaiting_funds - - pending_review - - approved - - rfi - - canceled - origination_bank: - type: string - description: Name of bank receiving the wire in - origination_bank_address: - type: string - description: Address of bank receiving the wire in - recipient_name: - type: string - description: Name of the recipient of the wire In - recipient_address: - type: string - description: Address of the recipient of the wire in - recipient_account_number: - type: string - description: Recipient bank account number - recipient_routing_number: - type: string - description: Recipient bank routing number - additional_notes: - type: string - description: Notes for the wire in request - bank_name: - type: string - description: Name of the bank initiating the wire in - date_sent: - type: string - description: Date the wire in was sent - unique_tracking_code: - type: string - description: Include in note with bank to track payment - payment_type: - type: string - description: Type of payment for the wire in - payment_uuid: - type: string - description: Unique identifier of the payment - enum: - - payroll - amount_sent: - type: string - description: Amount sent through wire in - requested_amount: - type: string - description: Requested amount for the payment - wire_in_deadline: - type: string - description: Deadline to submit the wire in - Time-Sheet: - type: object - x-examples: - example: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440000 - status: approved - time_zone: America/Los_Angeles - entity_type: Employee - version: 72deb67e16f7b92713c00d3582fa6c68 - job_uuid: 123e4567-e89b-12d3-a456-426655440000 - entity_uuid: 123e4567-e89b-12d3-a456-426655440000 - shift_started_at: '2025-03-04T13:07:10Z' - shift_ended_at: '2025-03-04T16:07:10Z' - created_at: '2025-04-29T16:08:53Z' - updated_at: '2025-04-29T16:08:53Z' - metadata: {} - entries: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Regular - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Overtime - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Double overtime - description: Record representing an employee/contractor's time sheet - properties: - uuid: - type: string - description: Unique identifier of the time sheet. - status: - type: string - description: Status of the time sheet. - enum: - - pending - - rejected - - approved - company_uuid: - type: string - description: Unique identifier of the company to which the time sheet belongs. - time_zone: - type: string - description: Time zone of where the time was tracked. - entity_type: - type: string - description: Type of entity associated with the time sheet. - enum: - - Employee - - Contractor - entity_uuid: - type: string - description: Unique identifier of the entity associated with the time sheet. - version: - type: string - description: The current version of the object. See the [versioning guide](https://docs.gusto.com/app-integrations/docs/idempotency) for information on how to use this field. - job_uuid: - type: string - description: Unique identifier of the job for which time was reported. - shift_started_at: - type: string - format: date-time - description: The start time of the shift. - shift_ended_at: - type: string - format: date-time - description: The end time of the shift. If the shift is still ongoing this field will be null. - created_at: - type: string - format: date-time - description: Datetime for when time sheet was created. - updated_at: - type: string - format: date-time - description: Datetime for when time sheet was updated. - metadata: + description: The UUID of the employee + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: removeEmployees + "/v1/time_off_policies/{time_off_policy_uuid}/balance": + put: + summary: Update employee time off balances + operationId: put-v1-time_off_policies-time_off_policy_uuid-balance + security: + - CompanyAccessAuth: [] + description: |- + Updates time off hours balances for employees for a time off policy. + + scope: `time_off_policies:write` + tags: + - Time Off Policies + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: time_off_policy_uuid + in: path + description: The UUID of the time off policy + required: true + schema: + type: string + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Time-Off-Policy" + '422': + description: Unlimited policy balance update + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - employees + properties: + employees: + type: array + items: type: object - additionalProperties: - type: string - maxLength: 500 - propertyNames: + required: + - uuid + - balance + properties: + uuid: type: string - maxLength: 40 - maxProperties: 50 - description: Metadata associated with the time sheet. Key-value pairs of arbitrary data. Both keys and values must be strings. - entries: - type: array - description: Entries associated with the time sheet. - items: - type: object - properties: - uuid: - type: string - description: Unique identifier of the entry. - hours_worked: - type: string - format: float - description: Hours worked for this pay classification. Represented as a string, e.g. "1.500". - pay_classification: - type: string - description: Pay classification for the entry. - enum: - - Regular - - Overtime - - Double overtime - Company-Suspension: - type: object - description: Record representing the suspension of a company's Gusto account. - properties: - uuid: - type: string - description: Unique identifier for this suspension. - company_uuid: - type: string - description: Unique identifier for the company which is suspended. - effective_date: - type: string - description: Date that the suspension took effect. - leaving_for: - type: string - description: Which competitor the company is joining instead. Only required if `reason` is `'switching_provider'`. - reason: - type: string - description: Explanation for why the company's account was suspended. - reconcile_tax_method: + description: The UUID of the employee + balance: + type: string + description: The new balance for the employee + required: true + x-speakeasy-group: timeOffPolicies + x-speakeasy-name-override: updateBalance + "/oauth/token": + post: + summary: Create a System Access Token or Refresh an Access Token + operationId: oauth-access-token + security: [] + description: Creates a system access token or refreshes an oauth access token + tags: + - Introspection + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Authentication" + requestBody: + content: + application/json: + schema: + oneOf: + - type: object + title: Refresh Token Request + required: + - client_id + - client_secret + - grant_type + - refresh_token + properties: + client_id: + type: string + description: Your client ID + example: qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8 + client_secret: + type: string + description: Your client secret + example: 3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w + grant_type: + type: string + enum: + - refresh_token + description: Set system_access to create a system access token, refresh_token to refresh an existing token + refresh_token: + type: string + descrition: The refresh token being exchanged for an access token code + example: iEjL96L9Pndwmi-xVX3Q-xbrvvhnjHYGX87sopgGJ8E + redirect_uri: + type: string + description: The redirect URI you set up via the Developer Portal + - type: object + title: System Access Token Request + required: + - client_id + - client_secret + - grant_type + properties: + client_id: + type: string + description: Your client ID + example: qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8 + client_secret: + type: string + description: Your client secret + example: 3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w + grant_type: + type: string + description: Set system_access to create a system access token, refresh_token to refresh an existing token + enum: + - system_access + required: true + "/v1/token_info": + get: + summary: Get info about the current access token + operationId: get-v1-token-info + security: + - CompanyAccessAuth: [] + description: |- + Returns scope and resource information associated with the current access token. Use this endpoint to verify the following for the current access token: + * Resource (company, employee, contractor, or application) and resource owner + * Access level + tags: + - Introspection + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Token-Info" + x-speakeasy-name-override: getInfo + "/v1/webhook_subscriptions": + get: + summary: List webhook subscriptions + operationId: get-v1-webhook-subscriptions + security: + - SystemAccessAuth: [] + description: "Returns all webhook subscriptions associated with the provided Partner API token.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Webhook-Subscription" + x-speakeasy-name-override: listSubscriptions + post: + summary: Create a webhook subscription + operationId: post-v1-webhook-subscription + security: + - SystemAccessAuth: [] + description: "Create a webhook subscription to receive events of the specified subscription_types whenever there is a state change.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - url + - subscription_types + properties: + url: + type: string + description: The URL where webhook events will be POSTed. + subscription_types: + type: array + description: The types of events to subscribe to. + items: type: string - description: How Gusto will handle taxes already collected. enum: - - pay_taxes - - refund_taxes - file_quarterly_forms: - type: boolean - description: | - Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company - is suspending their account, and how taxes are being reconciled. - file_yearly_forms: - type: boolean - description: | - Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company - is suspending their account, and how taxes are being reconciled. - comments: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - PeopleBatch + - Signatory + required: true + x-speakeasy-name-override: createSubscription + "/v1/webhook_subscriptions/{webhook_subscription_uuid}": + get: + summary: Get a webhook subscription + operationId: get-v1-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "Returns the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: getSubscription + put: + summary: Update a webhook subscription + operationId: put-v1-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "Updates the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - subscription_types + properties: + subscription_types: + type: array + description: The types of events to subscribe to. + items: type: string - description: User-supplied comments describing why then are suspending their account. - tax_refunds: + enum: + - BankAccount + - Company + - CompanyBenefit + - Contractor + - ContractorPayment + - Employee + - EmployeeBenefit + - EmployeeJobCompensation + - ExternalPayroll + - Form + - Location + - Notification + - Payroll + - PayrollSync + - PaySchedule + - PeopleBatch + - Signatory + required: true + x-speakeasy-name-override: updateSubscription + delete: + summary: Delete a webhook subscription + operationId: delete-v1-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "Deletes the Webhook Subscription associated with the provided UUID.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: deleteSubscription + "/v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token": + get: + summary: Request a verification token for a webhook subscription + operationId: get-v1-webhook-subscription-verification-token-uuid + security: + - SystemAccessAuth: [] + description: "Request that the webhook subscription `verification_token` be POSTed to the Subscription URL.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: No Content. The `verification_token` is POSTed to the Subscription URL. + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Verification-Token-Response" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-name-override: requestVerificationToken + "/v1/webhook_subscriptions/{webhook_subscription_uuid}/verify": + put: + summary: Verify a webhook subscription + operationId: put-v1-verify-webhook-subscription-uuid + security: + - SystemAccessAuth: [] + description: "When a webhook subscription is created, a `verification_token` is POSTed to the registered webhook subscription URL. This `verify` endpoint needs to be called with `verification_token` before webhook events can be sent to the registered webhook URL.\n\nUse the /v1/webhook_subscriptions/{webhook_subscription_uuid}/request_verification_token API to resend the `verification_token` to the Subscriber.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:write`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: webhook_subscription_uuid + in: path + description: The webhook subscription UUID. + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhook-Subscription" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - verification_token + properties: + verification_token: + type: string + description: The verification token received at the webhook subscription URL. + required: true + x-speakeasy-name-override: verify + "/v1/webhooks/health_check": + get: + summary: Get the webhooks health status + operationId: get-v1-webhooks-health_check + security: + - SystemAccessAuth: [] + description: "Returns the health status (`healthy`, `unhealthy`, or `unknown`) of the webhooks system based on the last ten minutes of activity.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `webhook_subscriptions:read`" + tags: + - Webhooks + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Webhooks-Health-Check-Status" + "/v1/wire_in_requests/{wire_in_request_uuid}": + get: + summary: Get a single Wire In Request + operationId: get-wire_in_requests-wire_in_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Fetch a Wire In Request. + + scope: `payrolls:read` + tags: + - Wire In Requests + x-gusto-integration-type: + - embedded + parameters: + - name: wire_in_request_uuid + in: path + description: The UUID of the Wire In Request + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: wireInRequests + x-speakeasy-name-override: get + put: + summary: Submit a wire in request + operationId: put-wire_in_requests-wire_in_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Submit a wire in request for a payment + + scope: `payrolls:run` + tags: + - Wire In Requests + x-gusto-integration-type: + - embedded + parameters: + - name: wire_in_request_uuid + in: path + description: The UUID of the Wire In Request + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request-Update-Request-Body" + required: true + x-speakeasy-group: wireInRequests + x-speakeasy-name-override: submit + "/v1/companies/{company_uuid}/wire_in_requests": + get: + summary: Get all Wire In Requests for a company + operationId: get-companies-company_uuid-wire_in_request_uuid + security: + - CompanyAccessAuth: [] + description: |- + Fetches all Wire In Requests for a company. + + scope: `payrolls:read` + tags: + - Wire In Requests + x-gusto-integration-type: + - embedded + parameters: + - name: company_uuid + in: path + description: The UUID of the company + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: page + in: query + required: false + description: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. + schema: + type: integer + - name: per + in: query + required: false + description: Number of objects per page. For majority of endpoints will default to 25 + schema: + type: integer + x-gusto-rswag: true + responses: + '200': + description: Success + content: + application/json: + schema: + "$ref": "#/components/schemas/Wire-In-Request-List" + x-speakeasy-group: wireInRequests + x-speakeasy-name-override: list + "/v1/employees/{employee_id}/work_addresses": + get: + summary: Get an employee's work addresses + operationId: get-v1-employees-employee_id-work_addresses + security: + - CompanyAccessAuth: [] + description: |- + Returns a list of an employee's work addresses. Each address includes its effective + date and a boolean signifying if it is the currently active work address. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: List of employee work addresses + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Addresses-List" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: getWorkAddresses + post: + summary: Create an employee work address + operationId: post-v1-employees-employee_id-work_addresses + security: + - CompanyAccessAuth: [] + description: |- + The work address of an employee describes when an employee began working at an associated company location. + + scope: `employees:manage` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: employee_id + in: path + description: The UUID of the employee + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + properties: + location_uuid: + type: string + description: Reference to a company location + example: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 + effective_date: + type: string + format: date + description: Date the employee began working at the company location + example: '2023-05-15' + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: createWorkAddress + "/v1/work_addresses/{work_address_uuid}": + get: + summary: Get an employee work address + operationId: get-v1-work_addresses-work_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The work address of an employee is used for payroll tax purposes. + + scope: `employees:read` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: work_address_uuid + in: path + description: The UUID of the work address + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: retrieveWorkAddress + put: + summary: Update an employee work address + operationId: put-v1-work_addresses-work_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + The work address of an employee is used for payroll tax purposes. + + scope: `employees:manage` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: work_address_uuid + in: path + description: The UUID of the work address + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Employee-Work-Address" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + allOf: + - "$ref": "#/components/schemas/Versionable-Required" + - type: object + properties: + location_uuid: + type: string + description: Reference to a company location + example: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 + effective_date: + type: string + format: date + example: '2023-05-15' + required: true + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: updateWorkAddress + delete: + summary: Delete an employee's work address + operationId: delete-v1-work_addresses-work_address_uuid + security: + - CompanyAccessAuth: [] + description: |- + Used for deleting an employee's work address. Cannot delete the employee's active work address. + + scope: `employees:manage` + tags: + - Employee Addresses + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: work_address_uuid + in: path + description: The UUID of the work address + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '204': + description: no content + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: unprocessable entity + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + x-speakeasy-group: employeeAddresses + x-speakeasy-name-override: deleteWorkAddress + "/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company": + get: + summary: Get year-to-date benefit amounts from a different company + operationId: get-employee-ytd-benefit-amounts-from-different-company + security: + - CompanyAccessAuth: [] + description: |- + Retrieves year-to-date benefit amounts that were contributed at a different company for the specified employee. + Returns benefit amounts for the requested tax year (defaults to current year if not specified). + + This endpoint only supports retrieving outside contributions for 401(k) benefits. + + scope: `employee_benefits:read` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee + schema: + type: string + - name: tax_year + in: query + required: false + schema: + type: integer + minimum: 2000 + maximum: 2999 + example: 2024 + description: The tax year for which to retrieve YTD benefit amounts. Defaults to current year if not specified. + x-gusto-rswag: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company" + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: getYtdBenefitAmountsFromDifferentCompany + post: + summary: Create year-to-date benefit amounts from a different company + operationId: post-employee-ytd-benefit-amounts-from-different-company + security: + - CompanyAccessAuth: [] + description: |- + Year-to-date benefit amounts from a different company represents the amount of money added to an employee's plan during a current year, made outside of the current contribution when they were employed at a different company. + + This endpoint only supports passing outside contributions for 401(k) benefits. + + scope: `employee_benefits:write` + tags: + - Employee Benefits + x-gusto-integration-type: + - embedded + - app-integrations + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + - name: employee_id + in: path + required: true + description: The UUID of the employee + schema: + type: string + x-gusto-rswag: true + responses: + '204': + description: No Content + '404': + description: | + Not Found + + The requested resource does not exist. Make sure the provided UUID is valid. + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '422': + description: | + Unprocessable Entity + + This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company-Body" + required: true + x-speakeasy-group: employeeBenefits + x-speakeasy-name-override: createYtdBenefitAmountsFromDifferentCompany + "/v1/payroll_digests": + post: + summary: Create a payroll digest batch + operationId: post-v1-payroll_digests + security: + - SystemAccessAuth: [] + description: "Triggers an asynchronous computation of payroll digest data (statuses, blockers, pay periods, totals) across up to 25 companies that the partner is mapped to.\n\nThe batch is processed asynchronously. Use the returned batch UUID to poll `GET /v1/payroll_digests/{payroll_digest_uuid}` for status and results.\n\nIdempotency is scoped per `(partner, idempotency_key)`. A duplicate POST with the same `idempotency_key` returns a 409 Conflict referencing the existing batch UUID — no duplicate computation occurs.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `payroll_digests:write`" + tags: + - Payroll Digests + x-gusto-integration-type: + - embedded + parameters: + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '201': + description: created + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Digest" + '409': + description: conflict - idempotency key already used by this partner + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Digest-Conflict-Error" + '422': + description: unprocessable entity - validation errors + content: + application/json: + schema: + "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" + requestBody: + content: + application/json: + schema: + type: object + required: + - idempotency_key + - batch_action + - batch + properties: + idempotency_key: + type: string + format: uuid + description: A partner-generated unique identifier to ensure idempotency of the batch request. Scoped per partner. + example: 80a74f8b-2c16-45e5-9038-aa108849c6e6 + batch_action: + type: string + enum: + - create + description: The action to perform on the batch. + example: create + batch: + type: array + description: Array of companies to fetch payroll digest data for. Maximum 25 companies per request. + minItems: 1 + maxItems: 25 + items: type: object - description: | - Describes the taxes which are refundable to the company for this suspension. These may be refunded, or paid - by Gusto, depending on the value in `reconcile_tax_method`. + required: + - entity_type + - uuid properties: - amount: - type: string - description: Dollar amount. - description: - type: string - description: What kind of tax this is. - Minimum-Wage-List: - type: array - items: - "$ref": "#/components/schemas/Minimum-Wage" - Employment-History-List: - type: array - items: - description: The representation of an employee's individual employements. - type: object - properties: - hire_date: + entity_type: type: string - description: The employee's start day of work for an employment. - termination_date: - type: string - description: The employee's last day of work for an employment. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - not_set - Employee-Pay-Stubs-List: - type: array - items: - description: The representation of an employee pay stub information. - type: object - properties: - uuid: + - company + description: The type of entity to look up. + example: company + uuid: type: string - description: The UUID of the employee pay stub. - readOnly: true - check_date: + format: uuid + description: The UUID of a company that the partner is mapped to. Companies that the partner is not authorized to access will appear in the response's `exclusions` array. + required: true + "/v1/payroll_digests/{payroll_digest_uuid}": + get: + summary: Get a payroll digest batch + operationId: get-v1-payroll_digests-payroll_digest_uuid + security: + - SystemAccessAuth: [] + description: "Returns the status and results of a payroll digest batch.\n\nPoll this endpoint until the batch `status` reaches a terminal value (`completed` or `failed`). Once terminal, the response includes the full `results` array (one entry per attempted company, each with its own per-company `status` — `success`, `partial_success`, or `failed`) and the `exclusions` array (one entry per company that could not be looked up or processed).\n\nNote that the top-level batch `status` (`pending` / `processing` / `completed` / `failed`) is distinct from the per-company `status` returned inside `results[]` and `exclusions[]`. A `completed` batch does not imply every company succeeded — inspect the arrays for per-company outcomes.\n\nResults are stored in Redis with a short TTL after completion. If the partner polls after results have expired, this endpoint returns 410 Gone — partners should re-submit a new batch to fetch fresh data.\n\n\U0001F4D8 System Access Authentication\n\nThis endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)\n\nscope: `payroll_digests:read`" + tags: + - Payroll Digests + x-gusto-integration-type: + - embedded + parameters: + - name: payroll_digest_uuid + in: path + description: The UUID of the payroll digest batch returned by `POST /v1/payroll_digests`. + required: true + schema: + type: string + - name: X-Gusto-API-Version + in: header + schema: + type: string + enum: + - '2026-06-15' + default: '2026-06-15' + description: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + x-gusto-rswag: true + responses: + '200': + description: successful + content: + application/json: + schema: + "$ref": "#/components/schemas/Payroll-Digest-Results" + '404': + description: Not Found + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + '410': + description: Gone - results have expired from Redis + content: + application/json: + schema: + "$ref": "#/components/schemas/Not-Found-Error-Object" + "/v1/information_requests/{information_request_uuid}/submit": + put: + x-gusto-integration-type: + - embedded + summary: Submit information request responses + tags: + - Information Requests + operationId: submit-information-request + x-speakeasy-group: informationRequests + x-speakeasy-name-override: submit + description: |- + Submit responses to an information request. + Supports both text responses and file uploads (multipart/form-data). + Maximum file size: 120MB. + + scope: `information_requests:write` + parameters: + - "$ref": "#/components/parameters/information_request_uuid" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + required_questions: + type: array + items: + type: object + required: + - question_uuid + - response_type + properties: + question_uuid: type: string - description: The check date of the pay stub. - readOnly: true - gross_pay: + format: uuid + description: UUID of the question being answered + response_type: type: string - description: The gross pay amount for the pay stub. - readOnly: true - net_pay: + enum: + - text + - document + description: Type of response - matches the question's response_type from GET + text_response: type: string - description: The net pay amount for the pay stub. - readOnly: true - payroll_uuid: + description: Text response (required when response_type is text) + file_response: type: string - description: A unique identifier of the payroll to which the pay stub belongs. - readOnly: true - check_amount: + description: Data URL with base64-encoded file (e.g., "data:image/png;base64,..."). Required when response_type is document. + file_name: type: string - description: The check amount for the pay stub. - readOnly: true - x-tags: - - Payrolls - required: - - uuid - securitySchemes: - CompanyAccessAuth: - type: http - scheme: bearer - description: Company-level authentication - SystemAccessAuth: - type: http - scheme: bearer - description: System-level authentication - responses: - Unprocessable-Entity-Error-Object: - description: "Unprocessable Entity \n \nThis may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.\n" - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - examples: - Basic: - value: - errors: - - error_key: base - category: payroll_blocker - message: Company must complete all onboarding requirements in order to run payroll. - metadata: - key: needs_onboarding - Resource: - value: - errors: - - error_key: first_name - category: invalid_attribute_value - message: First name is required - - error_key: date_of_birth - category: invalid_attribute_value - message: Date of birth is not a valid date - Nested: - value: - errors: - - error_key: contractor_payments - category: nested_errors - metadata: - contractor_uuid: 72ae4617-daa9-4ed7-85e0-18ed5d0ee835 - errors: - - error_key: hours - category: invalid_attribute_value - message: Ella Fitzgerald is paid fixed wage and hours cannot be set on a contractor payment - - error_key: contractor_payments - category: nested_errors - metadata: - contractor_uuid: 2d7bf62c-babf-4a12-8292-340e2d9cab28 - errors: - - error_key: wage - category: invalid_attribute_value - message: Isaiah Berlin is paid hourly and wage cannot be set on a contractor payment - Not-Found-Error-Object: - description: "Not Found \n \nThe requested resource does not exist. Make sure the provided UUID is valid.\n" - Employment-Not-Found-Error-Object: - description: |- - Not Found - - * The requested resource does not exist. Make sure the provided UUID is valid. - * The employee's employment is not in the right state. - content: - application/json: - schema: - "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object" - examples: - Example: - value: - errors: - - error_key: employment - category: incorrect_state - message: The employee's employment is not in the right state. - Authentication-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Authentication" - examples: - Example: - value: - access_token: 737HdeXfIqgx-NfaUFRuhV7JDe6ns6ptanJSMuQzjlc - token_type: bearer - expires_in: 7200 - refresh_token: iEjL96L9Pndwmi-xVX3Q-xbrvvhnjHYGX87sopgGJ8E - scope: ach_transactions:read benefits:read companies:read - created_at: 1732033824 - Holiday-Pay-Policy-Object: - description: Holiday Pay Policy Object Example - content: - application/json: - schema: - "$ref": "#/components/schemas/Holiday-Pay-Policy" - examples: - Example: - value: - version: 1b37938b017c7fd7116bada007072290 - company_uuid: b7845189-f12b-4378-918a-d2b9de3dc4ea - federal_holidays: - new_years_day: - selected: false - name: New Year's Day - date: January 1 - mlk_day: - selected: true - name: Martin Luther King, Jr. Day - date: Third Monday in January - presidents_day: - selected: false - name: Presidents' Day - date: Third Monday in February - memorial_day: - selected: true - name: Memorial Day - date: Last Monday in May - juneteenth: - selected: false - name: Juneteenth - date: June 19 - independence_day: - selected: true - name: Independence Day - date: July 4 - labor_day: - selected: false - name: Labor Day - date: First Monday in September - columbus_day: - selected: false - name: Columbus Day (Indigenous Peoples' Day) - date: Second Monday in October - veterans_day: - selected: true - name: Veterans Day - date: November 11 - thanksgiving: - selected: true - name: Thanksgiving - date: Fourth Thursday in November - christmas_day: - selected: true - name: Christmas Day - date: December 25 - employees: - uuid: 1ca3cd25-3eda-48c6-ac88-f0e7fb91a15a - Paid-Holidays-Object: - description: Paid Holidays Object Example - content: - application/json: - schema: - "$ref": "#/components/schemas/Paid-Holidays" - examples: - Example: - value: - holiday_key: veterans_day - holiday_name: Veterans Day - start_date: 2023-11-11 - end_date: 2023-11-11 - Department-Object: - description: Department Object Example - content: - application/json: - schema: - "$ref": "#/components/schemas/Department" - examples: - Example: - value: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: - - uuid: 41199375-a999-4414-9f40-d9bf596b134d - contractors: - - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 - Ytd-Benefit-Amounts-From-Different-Company-List: - description: List of Ytd Benefit Amounts From Different Company List - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Ytd-Benefit-Amounts-From-Different-Company" - examples: - Example: - value: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d3 - benefit_type: 1 - ytd_employee_deduction_amount: '5000.00' - ytd_company_contribution_amount: '2500.00' - - uuid: 1bfdb946-b2be-4909-ac46-9e7f73872d0a - benefit_type: 5 - ytd_employee_deduction_amount: '2132.00' - ytd_company_contribution_amount: '3345.00' - Department-List: - description: List of departments - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Department" - examples: - Example: - value: - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Stage Hand - version: d90440dd464601d1c8f4e9e240dfb7a6 - employees: - - uuid: 41199375-a999-4414-9f40-d9bf596b134d - contractors: [] - - uuid: ec5c8a85-3233-4f39-a9f5-fb1ab7b5f5f3 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Actors - version: 34f39a30b45d077cb83aed2df4810d74 - employees: - - uuid: 7ee4aca1-814b-4034-b0f8-07f93cc679d1 - contractors: [] - - uuid: 1802465d-4f68-4865-920c-1307ab095f12 - company_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - title: Band - version: 1fe3076d35ef7c97d0ae68c5f4df0acd - employees: - - uuid: a73955be-c009-44dc-915e-6246e2bdedbb - contractors: - - uuid: 3488549f-60e4-494f-a34a-9d8aad3aabf5 - Employee-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee" - examples: - Create Employee Example: - value: - uuid: 4b3f930f-82cd-48a8-b797-798686e12e5e - first_name: Isom - middle_initial: - last_name: Jaskolski - email: dane7757869450111550@botsford.net - company_uuid: a007e1ab-3595-43c2-ab4b-af7a5af2e365 - manager_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - employee_code: fesa3w - version: 1c7ba9d62c8bafbfff998ffccad5d296 - department: Stage Hand - department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 - terminated: false - two_percent_shareholder: false - onboarded: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: 428a653a-0745-4db4-9c80-558288d416fa - version: 6c0ed1521e8b86eb36bd4455a63a2dac - employee_uuid: f0689739-1985-49f3-b9ba-84562e71e85f - current_compensation_uuid: c9fd719b-8b07-48f3-8a4c-f447d2c59669 - payment_unit: Year - primary: true - title: Client Support Director - compensations: - - uuid: 145660ed-6fcc-4211-8915-18e2786290a2 - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: 857feae3-414e-445d-b28b-2eb3ef50155e - effective_date: '2021-01-20' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2020-01-20' - eligible_paid_time_off: - - name: Sick Hours - policy_name: Sick Policy - policy_uuid: 9940d205-9904-4e55-9fec-652628e84af7 - accrual_unit: Hour - accrual_rate: '208.0' - accrual_method: per_hour_worked - accrual_period: Year - accrual_balance: '31.8' - maximum_accrual_balance: '240.0' - paid_at_termination: false - - name: Vacation Hours - policy_name: Vacation Policy - policy_uuid: ab59de61-239f-4805-933b-0e3360ed291c - accrual_unit: Hour - accrual_rate: '208.0' - accrual_period: Year - accrual_balance: '77.8' - maximum_accrual_balance: '240.0' - paid_at_termination: true - terminations: [] - custom_fields: - - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - value: md - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - garnishments: [] - date_of_birth: '1986-06-25' - has_ssn: false - ssn: '' - phone: '1234567890' - preferred_first_name: Angel - work_email: angel.jaskolski@example.com - Create Historical Employee Example: - value: - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - first_name: Karl - middle_initial: - last_name: Jaskolski - email: - company_uuid: 3c69d228-a250-49b4-9946-24e4e4294da4 - manager_uuid: - employee_code: rke7p1 - version: dedac972dd28945fcd6cd941723cc71a - department: - department_uuid: - terminated: false - two_percent_shareholder: false - onboarded: true - historical: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: f0be5480-7a15-4583-b0d0-789c02a1afe4 - version: 1c0722f3e090713b6a0db7c39904693e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - current_compensation_uuid: 1a1faa42-274b-4440-b200-a5d81df14af2 - payment_unit: Year - primary: true - title: Client Support Director - compensations: - - uuid: 145660ed-6fcc-4211-8915-18e2786290a2 - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: 857feae3-414e-445d-b28b-2eb3ef50155e - effective_date: '2023-11-01' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2023-11-01' - eligible_paid_time_off: [] - terminations: - - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - active: false - effective_date: 2023-12-31 - run_termination_payroll: false - cancelable: true - version: e6c865df784842196d411c1466b01686 - garnishments: [] - date_of_birth: '1986-06-25' - has_ssn: false - ssn: '' - phone: - preferred_first_name: - work_email: - Historical-Employee-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee" - examples: - Create Historical Employee Example: - value: - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - first_name: Karl - middle_initial: - last_name: Jaskolski - email: - company_uuid: 3c69d228-a250-49b4-9946-24e4e4294da4 - manager_uuid: - employee_code: eh3st1 - version: dedac972dd28945fcd6cd941723cc71a - department: - department_uuid: - terminated: true - two_percent_shareholder: false - onboarded: true - historical: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: - i9_document: false - jobs: - - uuid: f0be5480-7a15-4583-b0d0-789c02a1afe4 - version: 1c0722f3e090713b6a0db7c39904693e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - current_compensation_uuid: 1a1faa42-274b-4440-b200-a5d81df14af2 - payment_unit: Year - primary: true - title: Client Support Director - compensations: - - uuid: 145660ed-6fcc-4211-8915-18e2786290a2 - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: 857feae3-414e-445d-b28b-2eb3ef50155e - effective_date: '2023-11-01' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2023-11-01' - eligible_paid_time_off: [] - terminations: - - uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - employee_uuid: ad85459f-8bf5-4a8f-9079-3b3fa790799e - active: false - effective_date: 2023-12-31 - run_termination_payroll: false - cancelable: true - version: e6c865df784842196d411c1466b01686 - garnishments: [] - date_of_birth: '1986-06-25' - has_ssn: false - ssn: '' - phone: - preferred_first_name: - work_email: - Employee-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee" - examples: - Example: - value: - - uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 - first_name: Nicole - middle_initial: M - last_name: Boehm - email: kory7757869450111548@barton-hermiston.io - company_uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - manager_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - version: 414dedaca594b77135e0b8d2f398516d - department: Stage Hand - department_uuid: 1802465d-4f68-4865-920c-1307ab095f12 - terminated: false - two_percent_shareholder: false - onboarded: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: 9d5e3ce5-ea8f-4885-90e5-7ebbed03f7c5 - i9_document: true - jobs: - - uuid: 5d5e3ce5-ea8f-4885-90e5-7ebaed03f7c5 - version: 91179081a7309c9fbd31bb3cf7b9893e - employee_uuid: a987bce1-6d06-43f8-9978-9db886f479fb - current_compensation_uuid: 798a962f-0fcf-491e-9b71-cfa6a1db114f - payment_unit: Hour - primary: true - title: Client Support Manager - compensations: - - uuid: 94f17a77-cfe5-436a-af94-422bbf8248ff - version: 233f0096a8015e62d9795fadf1fd300d - payment_unit: Hour - flsa_status: Nonexempt - job_uuid: 64711ac0-83ff-4aaf-bec1-db72f5a44e56 - effective_date: '2021-01-20' - rate: '22.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '22.00' - hire_date: '2020-01-20' - eligible_paid_time_off: - - name: Sick Hours - policy_name: Sick Policy - policy_uuid: 9940d205-9904-4e55-9fec-652628e84af7 - accrual_unit: Hour - accrual_rate: '208.0' - accrual_method: per_hour_worked - accrual_period: Year - accrual_balance: '71.0' - maximum_accrual_balance: '240.0' - paid_at_termination: false - - name: Vacation Hours - policy_name: Vacation Policy - policy_uuid: 8b312f0e-30e7-4810-9c06-1177a6484f2d - accrual_unit: Hour - accrual_rate: '208.0' - accrual_period: Year - accrual_balance: '34.0' - maximum_accrual_balance: '240.0' - paid_at_termination: true - terminations: [] - garnishments: [] - date_of_birth: '1996-05-08' - has_ssn: true - ssn: '' - phone: '1234567890' - preferred_first_name: Vanessa - work_email: vanessa.boehm@example.com - - uuid: d7cb289a-af62-4120-9cd5-acda324b5c04 - first_name: Maci - middle_initial: M - last_name: Cassin - email: claud_reinger7757869450111549@gutkowski.net - company_uuid: 4522d043-5731-406d-a129-de1808042a32 - manager_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - version: e867459e1360fa71e78b88142923d341 - department: Band - department_uuid: 1802465d-4f68-4865-920c-1307ab095f12 - terminated: false - two_percent_shareholder: false - onboarded: true - onboarding_status: onboarding_completed - onboarding_documents_config: - uuid: 1d5e3ce5-ea8f-4885-90e5-7ebbed03f7c5 - i9_document: true - jobs: - - uuid: 62a00cf7-342b-465e-a151-ecd295152be0 - version: d0e719137f89ca3dd334dd4cc248ffbb - employee_uuid: 5e53e257-c8d6-45aa-aa8a-ec99283a3acd - current_compensation_uuid: 93e5da92-173b-4faa-a0bd-d1a8dee68be0 - payment_unit: Year - primary: true - title: Account Director - compensations: - - uuid: 1bad5177-c4ed-432e-ab43-66055d40c3a5 - version: 994b75511d1debac5d7e2ddeae13679f - payment_unit: Year - flsa_status: Exempt - job_uuid: 1214875b-f43d-4267-bf2f-a6d2c298ff3d - effective_date: '2021-01-20' - rate: '78000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '78000.00' - hire_date: '2020-01-20' - eligible_paid_time_off: - - name: Sick Hours - policy_name: Sick Policy - policy_uuid: 8b312f0e-30e7-4810-9c06-1177a6484f2d - accrual_unit: Hour - accrual_rate: '208.0' - accrual_method: per_hour_worked - accrual_period: Year - accrual_balance: '74.0' - maximum_accrual_balance: '240.0' - paid_at_termination: false - - name: Vacation Hours - policy_name: Vacation Policy - policy_uuid: 0d4c755e-50ac-4c54-b46e-81bdfa03da5b - accrual_unit: Hour - accrual_rate: '208.0' - accrual_period: Year - accrual_balance: '16.0' - maximum_accrual_balance: '240.0' - paid_at_termination: true - terminations: [] - garnishments: [] - custom_fields: - - id: ee515986-f3ca-49da-b576-2691b95262f9 - company_custom_field_id: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - value: '2' - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - value: md - selection_options: - - id: 3796e08d-c2e3-434c-b4de-4ce1893e7b59 - company_custom_field_id: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - value: apple - selection_options: - - apple - - banana - - orange - date_of_birth: '1995-09-21' - has_ssn: true - ssn: '' - phone: '1234567890' - preferred_first_name: Denis - work_email: denis.cassin@example.com - Employee-Address-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Address" - examples: - Example: - value: - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - employee_id: 12345 - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: false - effective_date: '2021-01-01' - courtesy_withholding: true - Employee-Address-List: - description: List of employee addresses - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Address" - examples: - Example: - value: - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - employee_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: false - effective_date: '2021-01-01' - courtesy_withholding: true - - uuid: d9f74049-8769-4fba-8e0f-eceef2da4e6b - employee_uuid: 7087a288-8349-4632-b92e-bc94fb79f29e - street_1: 100 5th Ave - street_2: Suite 555 - city: New York - state: NY - zip: '10001' - country: USA - active: true - effective_date: '2022-03-03' - courtesy_withholding: true - Employee-Work-Address-List: - description: List of employee work addresses - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Work-Address" - examples: - Example: - value: - - uuid: fc5b87dc-8d88-400d-b2da-c3587a7e5b15 - employee_uuid: 7597f3e3-31d4-4953-83a5-f95be78d2fe2 - location_uuid: d9456c94-f561-40d2-afec-919da5f59196 - effective_date: '2022-01-01' - active: false - version: 139f9769a2e543e6a1259173e1ee3b8d - street_1: 800 Adolfo Gardens - street_2: Suite 419 - city: Bremen - state: AL - zip: '35033' - country: USA - - uuid: be1c2e24-af86-4c36-b34e-3a55dbcdbdab - employee_uuid: 7597f3e3-31d4-4953-83a5-f95be78d2fe2 - location_uuid: 6a119be7-b4b0-4e27-aaa0-89d5f2524635 - effective_date: '2023-01-01' - active: true - version: bbe8d4c741339c6b9e0e2e1c1b120816 - street_1: 2216 Icie Villages - street_2: Apt. 798 - city: Big Delta - state: AK - zip: '99737' - country: USA - Company-Onboarding-Status-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Onboarding-Status" - examples: - Example: - value: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_completed: false - onboarding_steps: - - title: Add Your Company's Addresses - id: add_addresses - required: true - completed: true - skippable: false - requirements: [] - - title: Enter Your Federal Tax Information - id: federal_tax_setup - required: true - completed: true - skippable: false - requirements: [] - - title: Select Industry - id: select_industry - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Bank Account - id: add_bank_info - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Employees - id: add_employees - required: true - completed: true - skippable: true - requirements: - - add_addresses - - title: Enter Your State Tax Information - id: state_setup - required: true - completed: false - skippable: false - requirements: - - add_addresses - - add_employees - - title: Select a Pay Schedule - id: payroll_schedule - required: true - completed: false - skippable: false - requirements: [] - - title: Sign Documents - id: sign_all_forms - required: true - completed: false - skippable: false - requirements: - - add_employees - - federal_tax_setup - - state_setup - - add_bank_info - - payroll_schedule - - title: Verify Your Bank Account - id: verify_bank_info - required: true - completed: false - skippable: false - requirements: - - add_bank_info - Company-Onboarding-Status-Finish-Onboarding-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Onboarding-Status" - examples: - Example: - value: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_completed: true - onboarding_steps: - - title: Add Your Company's Addresses - id: add_addresses - required: true - completed: true - skippable: false - requirements: [] - - title: Enter Your Federal Tax Information - id: federal_tax_setup - required: true - completed: true - skippable: false - requirements: [] - - title: Select Industry - id: select_industry - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Bank Account - id: add_bank_info - required: true - completed: true - skippable: false - requirements: [] - - title: Add Your Employees - id: add_employees - required: true - completed: true - skippable: true - requirements: - - add_addresses - - title: Enter Your State Tax Information - id: state_setup - required: true - completed: true - skippable: false - requirements: - - add_addresses - - add_employees - - title: Select a Pay Schedule - id: payroll_schedule - required: true - completed: true - skippable: false - requirements: [] - - title: Sign Documents - id: sign_all_forms - required: true - completed: true - skippable: false - requirements: - - add_employees - - federal_tax_setup - - state_setup - - add_bank_info - - payroll_schedule - - title: Verify Your Bank Account - id: verify_bank_info - required: true - completed: true - skippable: false - requirements: - - add_bank_info - Webhook-Subscription-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Webhook-Subscription" - examples: - Example: - value: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - url: https://the-partner-app.com/subscriber - status: verified - subscription_types: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PaySchedule - - Signatory - Webhook-Subscriptions-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Webhook-Subscription" - examples: - Example: - value: - - uuid: dcceb38a-46be-4110-9d1d-1b3384c3b906 - url: https://6116-2603-6000-8900-3d42-58e7-f1e3-b394-1f21.ngrok.io/subscriber - status: pending - subscription_types: - - BankAccount - - Company - - CompanyBenefit - - Contractor - - ContractorPayment - - Employee - - EmployeeBenefit - - EmployeeJobCompensation - - ExternalPayroll - - Form - - Location - - Notification - - Payroll - - PaySchedule - - Signatory - Company-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company" - examples: - Example: - value: - ein: 00-0000001 - entity_type: C-Corporation - tier: core - contractor_only: false - is_suspended: false - company_status: Approved - uuid: c7a07c73-a703-4462-9343-1b181182b6e0 - name: Shoppe Studios LLC - trade_name: Record Shoppe - slug: record-shoppe - is_partner_managed: false - pay_schedule_type: by_department - join_date: '2023-03-01' - funding_type: ach - locations: - - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: true - compensations: - hourly: - - name: Overtime - multiple: 1.5 - - name: Double overtime - multiple: 2 - - name: Regular - multiple: 1 - - name: Outstanding vacation - multiple: 1 - - name: Holiday - multiple: 1 - - name: Emergency sick - self care - multiple: 1 - - name: Emergency sick - caring for others - multiple: 1 - - name: FMLA Public Health Emergency Leave - multiple: 1 - - name: Regular Hours - multiple: 1 - fixed: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Severance - - name: Minimum Wage Adjustment - - name: Reimbursement - paid_time_off: - - name: Vacation Hours - - name: Sick Hours - - name: Holiday Hours - primary_signatory: - uuid: 8a2ed9c2-9d1e-443a-8e56-a490d8bf73bb - first_name: Alda - middle_initial: '' - last_name: Carter - phone: 1-565-710-7558 - email: louie.hessel7757869450111547@zemlak.biz - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - primary_payroll_admin: - first_name: Ian - last_name: Labadie - phone: 1-565-710-7559 - email: louie.hessel7757869450111547@zemlak.biz - Signatory-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Signatory" - examples: - Example: - value: - uuid: f8c653dc-0094-41fb-8670-45d6399afade - first_name: Bob - last_name: Johnson - title: Owner - phone: '4239879876' - birthday: '2002-10-31' - email: olin.okuneva@denesik.us - is_admin: false - has_ssn: true - version: 49ea586f528411f5cfadfd54452b2423 - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - identity_verification_status: Skipped - Contractor-Address-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Address" - examples: - Example: - value: - version: 23323096a8015e32d9795fadf1fd300d - contractor_uuid: 9779767c-6044-48e0-bf68-aeb370b9a2e7 - street_1: 999 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: 94107 - country: USA - active: true - Employment-History-List: - description: Example response - content: - application/json: - schema: - type: array - items: - type: object - properties: - hire_date: - type: string - description: The employee's start day of work for an employment. - termination_date: - type: string - description: The employee's last day of work for an employment. - file_new_hire_report: - type: boolean - description: The boolean flag indicating whether Gusto will file a new hire report for the employee. - two_percent_shareholder: - type: boolean - description: Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type. - employment_status: - type: string - description: The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*. - enum: - - part_time - - full_time - - part_time_eligible - - variable - - seasonal - - not_set - x-examples: - example-1: - hire_date: '2023-01-30' - termination_date: '2023-03-30' - file_new_hire_report: false - two_percent_shareholder: false - employment_status: seasonal - examples: - Example: - value: - - hire_date: '2023-05-30' - termination_date: - file_new_hire_report: true - two_percent_shareholder: false - employment_status: seasonal - - hire_date: '2021-02-02' - termination_date: '2023-03-01' - file_new_hire_report: false - two_percent_shareholder: false - employment_status: full_time - Rehire-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Rehire" - examples: - Example: - value: - version: 2e930d43acbdb241f8f14a2d531fa417 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - active: false - effective_date: '2024-01-01' - file_new_hire_report: false - work_location_uuid: d2c80d44-857b-4d4d-bce4-23ae52cc863b, - two_percent_shareholder: false - employment_status: full_time - Unprocessed-Termination-Pay-Period-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Unprocessed-Termination-Pay-Period" - examples: - Example: - value: - - start_date: '2023-01-11' - end_date: '2023-01-24' - check_date: '2023-01-28' - debit_date: '2023-01-26' - employee_name: Mary Warner - employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - - start_date: '2023-01-25' - end_date: '2023-02-07' - check_date: '2023-02-10' - debit_date: '2023-02-08' - employee_name: Mary Warner - employee_uuid: '094f6ded-a790-4651-87e6-4a7f15dec7c6' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - Accruing-Time-Off-Hour-Object: - description: Example response - content: - application/json: - schema: - type: object - required: - - hours_earned - properties: - hours_earned: - type: array - items: - "$ref": "#/components/schemas/Accruing-Time-Off-Hour" - examples: - Example: - value: - - time_off_policy_uuid: c3a15554-f124-415d-b2c4-90b430fd8eb1 - hours: '3.2' - - time_off_policy_uuid: 386fc48d-52d2-4009-87b3-368f74f6b3df - hours: '6.0' - Pay-Schedule-Assignment-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Assignment" - examples: - Example: - value: - type: by_employee - employees: - employee_uuid: f0238368-f2cf-43e2-9a07-b0265f2cec69 - pay_schedule_uuid: c277ac52-9871-4a96-a1e6-0c449684602a - Pay-Schedule-Assignment-Preview-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Assignment-Preview" - examples: - Example: - value: - type: hourly_salaried - employee_changes: - employee_uuid: 43b39ada-dc49-4879-9594-fe95f67ae434 - first_name: Penny - last_name: Parker - pay_frequency: Twice per month — Salaried pay schedule - first_pay_period: - pay_schedule_uuid: 3f029a58-155d-4c30-8361-cc266b2c1f11 - start_date: 2023-07-01 - end_date: 2023-08-01 - check_date: 2023-08-02 - transition_pay_period: - start_date: 2023-06-20 - end_date: 2023-06-30 - Benefit-Summary-Object: - description: Benefit summary response - content: - application/json: - schema: - "$ref": "#/components/schemas/Benefit-Summary" - examples: - Example: - value: - start_date: '2022-01-01' - end_date: '2022-12-31' - description: Simple IRA - company_benefit_deduction: '60.0' - company_benefit_contribution: '30.0' - employees: - - uuid: 54b7114f-f5e2-4f4b-911b-5cd5ad9032b0 - company_benefit_deduction: '60.0' - company_benefit_contribution: '30.0' - benefit_deduction: '660.0' - benefit_contribution: '330.0' - gross_pay: '18000.0' - imputed_pay: '350.0' - payroll_benefits: - - payroll_uuid: 8cc3471b-9da5-47df-88ea-f238c7cb968b - payroll_type: Regular - check_date: '2022-03-01' - gross_pay: '3000.0' - imputed_pay: '70.0' - company_benefit_deduction: '10.0' - company_benefit_contribution: '5.0' - pay_period: - start_date: '2022-02-01' - end_date: '2022-02-28' - - payroll_uuid: d9d92786-722b-4bf7-bb32-79140418d349 - payroll_type: Bonus - check_date: '2022-12-31' - gross_pay: '3000.0' - imputed_pay: '70.0' - company_benefit_deduction: '20.0' - company_benefit_contribution: '10.0' - pay_period: - start_date: nil - end_date: nil - Company-Benefit-With-Employee-Benefits-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit-With-Employee-Benefits" - examples: - Example: - value: - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - employee_benefits: - - employee_uuid: ae44a0b2-3c89-41e1-91c8-5f8224a779ca - company_benefit_uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - active: true - deduct_as_percentage: false - employee_deduction: 3.0 - company_contribution: 0.0 - uuid: 9988f241-9aee-4383-bfca-eac79cf58135 - contribution: - type: amount - value: 0.0 - Employee-Pay-Stubs-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Pay-Stub" - examples: - Example: - value: - - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - check_date: 2023-11-24 - gross_pay: 880.0 - net_pay: 541.02 - payroll_uuid: a039cafb-745e-4af4-bf1e-935a86fc18e0 - check_amount: 500.2 - description: OK - Company-Attachment-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Attachment" - examples: - Example: - value: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - name: Company_Attachment_File.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - Company-Attachment-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Company-Attachment" - examples: - Example: - value: - - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - name: Company_Attachment_File1.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - name: Company_Attachment_File2.pdf - category: gep_notice - upload_time: '2022-02-01T00:00:00.000Z' - Signatory-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Signatory" - examples: - Example: - value: - - uuid: f8c653dc-0094-41fb-8670-45d6399afade - first_name: Bob - last_name: Johnson - title: Owner - phone: '4239879876' - birthday: '2002-10-31' - email: olin.okuneva@denesik.us - is_admin: false - has_ssn: true - version: 49ea586f528411f5cfadfd54452b2423 - home_address: - street_1: 524 Roob Divide - street_2: Suite 565 - city: San Francisco - state: CA - zip: '94107' - country: USA - identity_verification_status: Skipped - External-Payroll-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/External-Payroll" - examples: - Example: - value: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: 2022-06-03 - payment_period_start_date: 2022-05-15 - payment_period_end_date: 2022-05-30 - status: unprocessed - external_payroll_items: - - employee_uuid: 44f7cba9-7a3d-4f08-b7bd-6fcf5211f8ca - earnings: - - amount: '10000.0' - hours: '0.0' - earning_type: CompanyPayType - earning_id: 1 - - amount: '500.0' - hours: '0.0' - earning_type: CompanyEarningType - earning_id: 4 - benefits: - - benefit_id: 22 - company_contribution_amount: '100.0' - employee_deduction_amount: '50.0' - - benefit_id: 25 - company_contribution_amount: '0.0' - employee_deduction_amount: '300.0' - taxes: - - tax_id: 1 - amount: '400.0' - - tax_id: 2 - amount: '60.0' - applicable_earnings: - - earning_type: CompanyPayType - earning_id: 1 - name: Regular Wages - input_type: amount - category: default - - earning_type: CompanyEarningType - earning_id: 4 - name: Cash Tips - input_type: amount - category: default - applicable_benefits: - - id: 22 - description: Kaiser - active: true - - id: 25 - description: HSA - active: true - applicable_taxes: - - id: 1 - name: Federal Income Tax - employer_tax: false - resident_tax: false - - id: 2 - name: Social Security - employer_tax: false - resident_tax: false - metadata: - deletable: true - External-Payroll-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/External-Payroll-Basic" - examples: - Example: - value: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - company_uuid: bcb305b0-2855-4025-8d22-e484a9e6b7c9 - check_date: 2022-06-03 - payment_period_start_date: 2022-05-15 - payment_period_end_date: 2022-05-30 - status: unprocessed - External-Payroll-Tax-Suggestions-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/External-Payroll-Tax-Suggestions" - examples: - Example: - value: - - employee_uuid: d21848d5-446f-48a8-9430-30fbefeabda4 - tax_suggestions: - - tax_id: 1 - amount: '500.0' - - tax_id: 2 - amount: '100.0' - - tax_id: 4 - amount: '30.0' - Tax-Liabilities-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Tax-Liabilities-Selections" - examples: - Example: - value: - - tax_id: 1 - tax_name: Federal Income Tax - last_unpaid_external_payroll_uuid: - possible_liabilities: - - liability_amount: '0.0' - payroll_check_date: - external_payroll_uuid: - - liability_amount: '3000.0' - payroll_check_date: 2022-06-01 - external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - - tax_id: 2 - tax_name: Social Security - last_unpaid_external_payroll_uuid: - possible_liabilities: - - liability_amount: '0.0' - payroll_check_date: - external_payroll_uuid: - - liability_amount: '50.0' - payroll_check_date: 2022-06-01 - external_payroll_uuid: 1bf1efe1-72d4-4e6e-a181-611f3ea66435 - Flow-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Flow" - examples: - Example: - value: - url: https://flows.gusto-demo.com/flows/lO2BHHAMCScPVV9G5WEURW0Im_nP9mGYloQgjUWbenQ - Form-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Form" - examples: - Example: - value: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: company_direct_deposit - title: Direct Deposit Authorization - description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. - draft: false - quarter: - year: - document_content_type: application/pdf - requires_signing: true - Form-Object-Pdf: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Form-Pdf" - examples: - Example: - value: - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - document_url: https://app.gusto-demo.com/assets/forms/7757842065202782/original/company_direct_deposit20211007-48226-gsqo8k.pdf?1633667020 - document_content_type: application/pdf - Form-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Form" - examples: - Example: - value: - - uuid: 48cdd5ec-a4dd-4840-a424-ad79f38d8408 - name: company_direct_deposit - title: Direct Deposit Authorization - description: We need you to sign paperwork to authorize us to debit and credit your bank account and file and pay your taxes. - draft: false - quarter: - year: - document_content_type: application/pdf - requires_signing: true - Industry-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Industry" - examples: - Example: - value: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - naics_code: '611420' - sic_codes: - - '8243' - title: Computer Training - Job-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Job" - examples: - Example: - value: - uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - version: d0e719137f89ca3dd334dd4cc248ffbb - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - payment_unit: Year - primary: true - title: Account Director - state_wc_covered: null, - state_wc_class_code: null, - compensations: - - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - version: 994b75511d1debac5d7e2ddeae13679f - payment_unit: Year - flsa_status: Exempt - job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - effective_date: '2021-01-20' - rate: '78000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '78000.00' - hire_date: '2020-01-20' - Job-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Job" - examples: - Example: - value: - - uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - version: 6c0ed1521e8b86eb36bd4455a63a2dac - employee_uuid: 948daac8-4355-4ece-9e2a-229898accb22 - current_compensation_uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - payment_unit: Year - primary: true - title: Client Support Director - state_wc_covered: null, - state_wc_class_code: null, - compensations: - - uuid: ea8b0b90-1112-4f9d-bb93-bf029bc8537a - version: 2cd4b18662395eb53bcf80d5b5447f36 - payment_unit: Year - flsa_status: Exempt - job_uuid: d6d1035e-8a21-4e1d-89d5-fa894f9aff97 - effective_date: '2021-01-20' - rate: '70000.00' - adjust_for_minimum_wage: false - minimum_wages: [] - rate: '70000.00' - hire_date: '2020-01-20' - Employee-Federal-Tax-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Federal-Tax" - examples: - Example: - value: - version: 56a489ce86ed6c1b0f0cecc4050a0b01 - filing_status: Single - extra_withholding: '0.0' - two_jobs: true - dependents_amount: '0.0' - other_income: '0.0' - deductions: '0.0' - employee_id: 29 - w4_data_type: rev_2020_w4 - Location-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Location" - examples: - Example: - value: - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - version: 7d9753112507b9dda4fb97910f39b06e - phone_number: '5825710808' - uuid: 04552eb9-7829-4b18-ae96-6983552948df - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - filing_address: false - mailing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - Location-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Location" - examples: - Example: - value: - - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - version: 7d9753112507b9dda4fb97910f39b06e - phone_number: '5825710808' - uuid: 04552eb9-7829-4b18-ae96-6983552948df - street_1: 412 Kiera Stravenue - street_2: Suite 391 - city: San Francisco - state: CA - zip: '94107' - country: USA - active: true - filing_address: false - mailing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - version: 15e6b9680e00f3122729e64e3cef3224 - phone_number: '2866070827' - uuid: fa94a2fd-11a8-4024-87ff-85c587d9d2b4 - street_1: 644 Fay Vista - street_2: Suite 842 - city: Richmond - state: VA - zip: '23218' - country: USA - active: true - filing_address: false - mailing_address: false - created_at: '2023-09-12T16:42:25.000-07:00' - updated_at: '2023-09-12T16:42:25.000-07:00' - Contractor-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Contractor" - examples: - Example: - value: - - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Fixed - is_active: false - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department: Backup Dancer - department_uuid: 1802465d-4f68-4865-920c-1307ab095f12 - email: keira.west@mckenzie.org - start_date: '2022-01-01' - file_new_hire_report: false - work_state: - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 621 Jast Row - street_2: Apt. 281 - city: Coral Springs - state: FL - zip: '33065' - country: USA - hourly_rate: '0.00' - - uuid: 183a86f4-a803-4b38-9357-cd9b78e2560c - company_uuid: afdd5d98-581b-4fc0-b988-706b7d23b2a5 - wage_type: Fixed - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - start_date: '2022-01-01' - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 1625 Bednar Center - street_2: Apt. 480 - city: Port Charlotte - state: FL - zip: '33954' - country: USA - hourly_rate: '0.00' - file_new_hire_report: false - work_state: - - uuid: ea1c2d65-b622-4899-bcb7-5cd0fe0232aa - id: 7757515807623484 - company_uuid: 281c763d-a2ba-4f51-b9e8-b1ed61576d62 - company_id: 7757616923763477 - wage_type: Fixed - is_active: true - version: b48c46abfed1487b873b442334b3c4ff - type: Individual - first_name: Chanel - last_name: Boyle - middle_initial: X - business_name: - ein: - has_ein: false - has_ssn: true - email: loyal@hettinger.biz - file_new_hire_report: true - work_state: TX - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 35913 Darrick Run - street_2: Apt. 913 - city: Cypress - state: TX - zip: '77433' - country: USA - hourly_rate: '0.00' - Created-Contractor-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor" - examples: - Individual Contractor: - value: - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Hourly - start_date: '2022-01-01' - is_active: false - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department_uuid: - email: keira.west@mckenzie.org - file_new_hire_report: true - work_state: FL - onboarded: true - onboarding_status: onboarding_completed - address: - hourly_rate: '60.00' - payment_method: - Business Contractor: - value: - uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c - company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f - wage_type: Fixed - start_date: '2022-01-01' - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - file_new_hire_report: false - work_state: - onboarded: false - onboarding_status: admin_onboarding_incomplete - address: - hourly_rate: '0.00' - payment_method: - Contractor-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor" - examples: - Individual Contractor: - value: - uuid: c9fc1ad3-c107-4e7b-aa21-2dd4b00a7a07 - company_uuid: b7457fec-3b76-43bb-9c6e-69cca4688942 - wage_type: Hourly - start_date: '2022-01-01' - is_active: false - version: 63859768485e218ccf8a449bb60f14ed - type: Individual - first_name: Kory - last_name: Gottlieb - middle_initial: P - business_name: - ein: - has_ein: false - has_ssn: true - department_uuid: 56260b3d-c375-415c-b77a-75d99f717193 - email: keira.west@mckenzie.org - file_new_hire_report: true - work_state: FL - onboarded: true - onboarding_status: onboarding_completed - address: - street_1: 621 Jast Row - street_2: Apt. 281 - city: Coral Springs - state: FL - zip: '33065' - country: USA - hourly_rate: '60.00' - payment_method: Direct Deposit - Business Contractor: - value: - uuid: c7c0659c-21a6-4b4e-b74c-9252576fc68c - company_uuid: 0ec4ae6e-e436-460d-b63c-94a14503d16f - wage_type: Fixed - start_date: '2022-01-01' - is_active: true - version: 8aab307f1e8ed788697f8986346af559 - type: Business - first_name: - last_name: - middle_initial: - business_name: Labadie-Stroman - ein: XX-XXX0001 - has_ein: true - has_ssn: false - email: jonatan@kerluke.info - file_new_hire_report: false - work_state: - onboarded: false - onboarding_status: admin_onboarding_incomplete - address: - hourly_rate: '0.00' - payment_method: Direct Deposit - Contractor-Onboarding-Status-Object: - description: Example response. - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Onboarding-Status" - examples: - Example: - value: - uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - onboarding_status: admin_onboarding_incomplete - onboarding_steps: - - title: Basic details - id: basic_details - required: true - completed: false - requirements: [] - - title: Enter compensation details - id: compensation_details - required: true - completed: false - requirements: [] - - title: Add an address - id: add_address - required: true - completed: false - requirements: [] - - title: Payment details - id: payment_details - required: true - completed: false - requirements: [] - - title: Sign and acknowledge documents - id: sign_documents - required: false - completed: false - requirements: - - basic_details, - - add_address - - title: File new hire report - id: file_new_hire_report - required: false - completed: false - requirements: - - basic_details - Contractor-Payment-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment" - examples: - Example: - value: - uuid: 04552eb9-7829-4b18-ae96-6983552948df - contractor_uuid: bc57832c-d8bc-43a7-ae99-3a03380ff037 - bonus: '20.0' - date: '2020-10-19' - hours: '40.0' - payment_method: Direct Deposit - reimbursement: '100.0' - status: Unfunded - hourly_rate: '18.0' - may_cancel: true - wage: '0.0' - wage_type: Hourly - wage_total: '740.00' - Contractor-Payment-Group-List: - description: List of Contractor Payment Groups - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Contractor-Payment-Group-Minimal" - examples: - Example: - value: - - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: 2024-03-15 - debit_date: 2024-03-11 - status: Funded - creation_token: a51a3500-3200-43af-a738-169d4b66a9db - totals: - debit_amount: '740.00' - wage_amount: '720.00' - reimbursement_amount: '20.00' - - uuid: 56260b3d-c375-415c-b77a-75d99f717193 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: 2024-05-02 - debit_date: 2024-04-26 - status: Unfunded - creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed - totals: - debit_amount: '2365.00' - wage_amount: '2270.00' - reimbursement_amount: '95.00' - Contractor-Payment-Group-Object: - description: Full contractor payment group object - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment-Group" - examples: - Example: - value: - uuid: f693e034-d833-46e3-88d4-2c820c383c57 - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: 2024-05-07 - debit_date: 2024-05-01 - status: Unfunded - creation_token: 45ef81bb-ae24-4ad1-b2c6-6e563a4c30ed - contractor_payments: - - uuid: 630dc982-f498-4ebc-a6dc-4d76711027ce - contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 - bonus: '0.0' - hours: '40.0' - hourly_rate: '18.0' - may_cancel: false - payment_method: Direct Deposit - reimbursement: '75.0' - status: Unfunded - wage: '0.0' - wage_type: Hourly - wage_total: '720.0' - - uuid: 12f51eba-d653-4357-8c05-1f1f8d0fd5e3 - contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: false - payment_method: Check - reimbursement: '0.0' - status: Unfunded - wage: '1500.0' - wage_type: Fixed - wage_total: '1500.0' - totals: - amount: '2295.0' - debit_amount: '2295.0' - wage_amount: '2220.0' - reimbursement_amount: '75.0' - Contractor-Payment-Group-Null-Uuid-Object: - description: Full contractor payment group object with null uuid - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment-Group" - examples: - Example: - value: - uuid: nil - company_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - check_date: 2024-05-07 - debit_date: 2024-05-01 - status: Unfunded - creation_token: nil - contractor_payments: - - uuid: nil - contractor_uuid: 2e6d0970-31bf-47ce-bdb4-713e4207ecf4 - bonus: '0.0' - hours: '40.0' - hourly_rate: '18.0' - may_cancel: false - payment_method: Direct Deposit - reimbursement: '75.0' - status: Unfunded - wage: '0.0' - wage_type: Hourly - wage_total: '720.0' - - uuid: nil - contractor_uuid: a975fda0-fcf5-469a-a5fd-06e43d1cd99d - bonus: '0.0' - hours: '0.0' - hourly_rate: '0.0' - may_cancel: false - payment_method: Check - reimbursement: '0.0' - status: Unfunded - wage: '1500.0' - wage_type: Fixed - wage_total: '1500.0' - totals: - amount: '2295.0' - debit_amount: '2295.0' - wage_amount: '2220.0' - reimbursement_amount: '75.0' - Contractor-Payment-Method-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment-Method" - examples: - Example: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Percentage - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - hidden_account_number: XXXX0992 - priority: 1 - split_amount: 100 - Compensation-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Compensation" - examples: - Exempt: - value: - uuid: db57832c-d8bc-43a7-ae99-0a04480ff037 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '60000.00' - payment_unit: Year - flsa_status: Exempt - effective_date: '2020-12-11' - adjust_for_minimum_wage: false - minimum_wages: [] - Minimum Wage Adjusted: - value: - uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a - version: cc59bd3879d655fb940a1f6b675f2ad9 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '5.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2018-12-11' - adjust_for_minimum_wage: true - minimum_wages: - - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 - wage: '7.25' - effective_date: '2018-12-11' - Compensation-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Compensation" - examples: - Example: - value: - - uuid: db57832c-d8bc-43a7-ae99-0a04480ff037 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - rate: '70.00' - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2020-12-11' - adjust_for_minimum_wage: false - minimum_wages: [] - - id: 1363316536327003 - job_id: 1123581321345589 - uuid: a4d9ba9c-32cc-4cc1-a5bc-6ef4cd653e7a - version: cc59bd3879d655fb940a1f6b675f2ad9 - job_uuid: d8f8fbe7-496d-4b69-86f0-1e2d1b73a086 - payment_unit: Hour - flsa_status: Nonexempt - effective_date: '2018-12-11' - rate: '5.00' - adjust_for_minimum_wage: true - minimum_wages: - - uuid: edeea5af-ecd6-4b1c-b5de-5cff2d302738 - wage: '7.25' - effective_date: '2018-12-11' - Garnishment-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Garnishment" - examples: - Example: - value: - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '8.00' - description: Company loan to employee - court_ordered: false - times: 5 - recurring: false - annual_maximum: - total_amount: - pay_period_maximum: '100.00' - deduct_as_percentage: true - garnishment_type: - child_support: - Child-Support-Example: - value: - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a - version: 52b7c567242cb7452e89ba2bc02cb383 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '40.00' - description: Child support - AZ28319 - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: '400.00' - deduct_as_percentage: true - garnishment_type: child_support - child_support: - state: AZ - payment_period: Monthly - case_number: AZ28319 - order_number: - remittance_number: - fips_code: '04000' - Garnishment-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Garnishment" - examples: - Example: - value: - - uuid: 4c7841a2-1363-497e-bc0f-664703c7484f - version: 52b7c567242cb7452e89ba2bc02cb476 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '8.00' - description: Company loan to employee - court_ordered: false - times: 5 - recurring: false - annual_maximum: - total_amount: - pay_period_maximum: '100.00' - deduct_as_percentage: true - garnishment_type: - child_support: - - uuid: 4c7841a2-1363-497e-bc0f-664703c7481a - version: 52b7c567242cb7452e89ba2bc02cb383 - employee_uuid: a6b53294-f871-4db2-bbd4-8c3d1fe56440 - active: true - amount: '40.00' - description: Child support - AZ28319 - court_ordered: true - times: - recurring: true - annual_maximum: - total_amount: - pay_period_maximum: '400.00' - deduct_as_percentage: true - garnishment_type: child_support - child_support: - state: AZ - payment_period: Monthly - case_number: AZ28319 - order_number: - remittance_number: - fips_code: '04000' - Child-Support-Data-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Child-Support-Data" - examples: - Example: - value: - agencies: - - state: AK - name: Alaska Child Support Services Division - manual_payment_required: false - fips_codes: - - county: - code: '0200000' - required_attributes: - - key: case_number - label: CSE Case Number - - state: OH - name: Ohio Office of Child Support Enforcement - manual_payment_required: false - fips_codes: - - county: - code: '39000' - required_attributes: - - key: case_number - label: CSE Case Number - - key: order_number - label: Order Identifier - Employee-Onboarding-Documents-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Onboarding-Document" - examples: - Example: - value: - i9_document: true - I9-Authorization-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/I9-Authorization" - examples: - Example: - value: - - version: 6ae7ff720107b356bf13b1606f60b24f - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - form_uuid: c54046f7-1be4-4c54-8194-f4842c30c86d - authorization_status: alien - document_type: foreign_passport - has_document_number: true - expiration_date: '2027-01-01' - country: Panama - employer_signed: false - employee_signed: false - additional_info: Notes - alt_procedure: false - I9-Authorization-Documents-Object: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/I9-Authorization-Document" - examples: - Example: - value: - - uuid: 7f2337f9-9b78-44b9-aeed-be4777b833a8 - document_type: driver_license - issuing_authority: USA - expiration_date: '2027-01-01' - document_title: Driver's license - - uuid: 9p2337f9-9b78-44b9-aeed-be4777b833a8 - document_type: ssn_card - issuing_authority: USA - document_title: Social Security card - I9-Authorization-Document-Options-Object: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/I9-Authorization-Document-Option" - examples: - Example: - value: - - section: A - description: Foreign passport - document_type: foreign_passport_w_i94 - document_title: - - Foreign passport - common_choice: true - - section: B - description: Driver’s license or state-issued ID card - document_type: driver_license - document_title: - - Driver's license - - State ID card - common_choice: true - - section: C - description: Social Security card - document_type: ssn_card - document_title: - - Social Security card - common_choice: true - Termination-Object: - description: Example Response - content: - application/json: - schema: - "$ref": "#/components/schemas/Termination" - examples: - Example: - value: - uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - version: d487dd0b55dfcacdd920ccbdaeafa351 - active: true - cancelable: true - effective_date: '2020-03-10' - run_termination_payroll: false - Termination-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Termination" - examples: - Example: - value: - - uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - employee_uuid: da441196-43a9-4d23-ad5d-f37ce6bb99c0 - version: d487dd0b55dfcacdd920ccbdaeafa351 - active: true - cancelable: true - effective_date: '2020-03-10' - run_termination_payroll: false - Pay-Period-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Pay-Period" - examples: - Example: - value: - - start_date: '2020-01-11' - end_date: '2020-01-24' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll: - payroll_uuid: bfd8aad4-9c3f-4ca3-b072-a1b2b3ea689f - check_date: '2020-01-30' - processed: true - payroll_deadline: '2020-01-28' - payroll_type: regular - - start_date: '2020-12-12' - end_date: '2020-12-25' - pay_schedule_uuid: cb53db72-612f-4eb1-9b85-389e79cfa510 - payroll: - payroll_uuid: 7ed29b45-4bb1-4d38-bd94-4d607d49fd21 - check_date: '2020-12-30' - processed: true - payroll_deadline: '2020-12-28' - payroll_type: regular - Pay-Schedule-Object: - description: Example response - content: - application/json: - schema: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule" - - "$ref": "#/components/schemas/Versionable-Required" - examples: - Example: - value: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - custom_name: A new monthly pay schedule - auto_pilot: false - active: true - Pay-Schedule-Create-Update-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Pay-Schedule-Create-Update" - examples: - Example: - value: - uuid: f2a69c38-e2f9-4e31-b5c5-4754fc60a052 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - custom_name: A new monthly pay schedule - auto_pilot: false - active: true - Pay-Schedule-List: - description: Example response - content: - application/json: - schema: - type: array - items: - allOf: - - "$ref": "#/components/schemas/Pay-Schedule" - - "$ref": "#/components/schemas/Versionable-Required" - examples: - Example: - value: - - uuid: 2097fe08-407a-46d7-b35c-a32402a2355e - version: 68934a3e9455fa72420237eb05902327 - frequency: Twice per month - anchor_pay_date: '2020-05-15' - anchor_end_of_pay_period: '2020-05-08' - day_1: 15 - day_2: 31 - name: Engineering - custom_name: Engineering department pay schedule - auto_pilot: false - active: true - - uuid: 8fc9f556-74fa-4271-97f6-4bfbfc5a5352 - version: 68934a3e9455fa72420237eb05902320 - frequency: Monthly - anchor_pay_date: '2020-05-31' - day_1: 31 - day_2: - name: Sales - custom_name: Sales department monthly schedule - auto_pilot: false - active: false - - uuid: 0e07d35a-af11-4123-bfcb-4dd5f2f12ee1 - version: 68934a3e9455fa72420237eb05902323 - frequency: Monthly - anchor_pay_date: '2020-05-31' - day_1: 31 - day_2: - name: Staff - custom_name: Staff department pay schedule - auto_pilot: true - active: false - Benefit-Type-Requirements-Object: - description: Benefit type requirements response - content: - application/json: - schema: - "$ref": "#/components/schemas/Benefit-Type-Requirements" - examples: - Example: - value: - employee_deduction: - required: true - editable: true - default_value: - choices: - contribution: - required: true - editable: true - default_value: - type: percentage - value: 2 - choices: - - percentage - deduct_as_percentage: - required: true - editable: true - default_value: - choices: - catch_up: - required: true - editable: true - default_value: - choices: - limit_option: - required: false - editable: false - default_value: - choices: - company_contribution_annual_maximum: - required: false - editable: false - default_value: - choices: - coverage_salary_multiplier: - required: false - editable: false - default_value: - choices: - coverage_amount: - required: false - editable: false - default_value: - choices: - Supported-Benefit-Object: - description: Supported benefit response - content: - application/json: - schema: - "$ref": "#/components/schemas/Supported-Benefit" - examples: - Example: - value: - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - Supported-Benefit-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Supported-Benefit" - examples: - Supported Benefits: - value: - - benefit_type: 1 - name: Medical Insurance - description: Deductions and contributions for Medical Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - - benefit_type: 2 - name: Dental Insurance - description: Deductions and contributions for Dental Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - - benefit_type: 3 - name: Vision Insurance - description: Deductions and contributions for Vision Insurance - pretax: true - posttax: false - imputed: false - healthcare: true - retirement: false - yearly_limit: false - category: Health - - benefit_type: 6 - name: Health Savings Account - description: Health Savings Accounts (HSA) allow employees to be reimbursed for qualified medical expenses. Contributions are pre-tax and lower the total amount of tax paid by employees and the employer. Employers may also make tax-free contributions to employees' HSA. Remaining balances are carried over in next year. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: true - category: Health - - benefit_type: 7 - name: Health FSA - description: Flexible Spending Accounts (FSA) allow employees to be reimbursed for qualified medical expenses. Contributions are pre-tax and lower the total amount of tax paid by employees and the employer. Employers may also make tax-free contributions to employees' FSA. Remaining balances are not carried over in next year. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: true - category: Health - - benefit_type: 11 - name: Dependent Care FSA - description: Dependent Care FSA reimburses employees for expenses to care for dependents while the employee is at work (e.g. Daycares). Contributions are pre-tax and lower the total amount of tax paid by employees and the employer. Employers may also make tax-free contributions to employee FSA. Remaining balances are not carried over to the next year. Single parents or Married couples filing a joint return can elect up to $5000 per year. Married couples filing separate returns are limited to $2500 elections each. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: true - category: Health - - benefit_type: 8 - name: SIMPLE IRA - description: The SIMPLE IRA is a tax-deferred retirement savings plan for employees. It is often used by small businesses as an alternative to 401(k) due to its relatively low operating cost. Employers are required to contribute a specific percentage to an employee's SIMPLE IRA. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 105 - name: Roth 401(k) - description: Roth 401(k) is an after-tax savings plan for employees. The standard maximum is $18,000, or $24,000 for employees over 50 years old. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 110 - name: Roth 403(b) - description: Roth 403(b) is an after-tax savings plan for certain clerics, employees of public schools, and employees of other types of tax-exempt organizations. Contributions made by employees are taxable for federal and state withholding. Often, employers contribute additional pre-tax dollars to the employee’s Roth account to encourage saving for retirement. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 5 - name: 401(k) - description: 401(k) is tax-deferred retirement savings plan for employees. The standard maximum is $18,000, or $24,000 for employees over 50 years old. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 9 - name: 403(b) - description: 403(b) is tax-deferred retirement savings plan for certain clerics, employees of public schools, and employees of other types of tax-exempt organizations. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 108 - name: SEP-IRA - description: A SEP-IRA is a pre-tax retirement savings plan where only the employer contributes. It is often used by small businesses as an alternative to 401(k) due to its relatively low operating cost. Employers are required to contribute the same percentage to all enrolled employees, with a maximum contribution of 25% of the employee’s compensation. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 109 - name: SARSEP - description: A SARSEP is a pre-tax retirement savings plan used by small businesses as an alternative to 401(k) due to its relatively low operating cost. While new SARSEP plans are not available, there are still some companies that are grandfathered into the plan. Employers are required to contribute the same percentage to all enrolled employees, with a maximum contribution of 25% of the employee’s compensation. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: true - yearly_limit: true - category: Savings and Retirement - - benefit_type: 107 - name: Group-Term Life Insurance - description: Group-Term Life Insurance for coverage in excess of $50,000 per employee is a taxable fringe benefit. See IRS Publication 15-B to determine the dollar value of the excess coverage. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 10 - name: Commuter Benefits (pre-tax) - description: Tax-free commuter benefits for transit, vanpooling, bicycling, and work-related parking costs. The annual maximum contribution for this pre-tax benefit is in the IRS publication 15-B. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 106 - name: Personal Use of Company Car - description: When an employee uses a company-owned car for personal matters, it is considered taxable benefit provided in-kind. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 111 - name: 529 College Savings - description: 529 College Savings is an after-tax savings plan for employees designed to encourage saving for future college costs. This benefit should be reported as a taxable benefit and will therefore be taxed. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Other - - benefit_type: 112 - name: Student Loan Repayment - description: Student Loan Repayment is an after-tax savings plan for employees to pay towards their outstanding student loans. An employee can choose to set aside after-tax dollars towards this benefit. These benefits should be reported as a taxable benefit and will therefore be taxed. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Other - - benefit_type: 998 - name: Short Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 999 - name: Long Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 996 - name: Short Term Disability (pre-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 997 - name: Long Term Disability (pre-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 991 - name: Voluntary Short Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 992 - name: Voluntary Long Term Disability (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 993 - name: Voluntary Life (post-tax) - description: Third Party Disability or Third Party Leave are policies offered by employers that pay an employee for a specific life event (maternity leave, injury). All payments made to employees come from a third-party, such as an insurer. For more information on the taxation of these plans, please refer to publication 15-A for more details. - pretax: false - posttax: true - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Health - - benefit_type: 113 - name: Commuter Parking - description: Tax-free commuter benefits allow employees to reduce their monthly commuting expenses for transit, carpooling, bicycling, and work-related parking costs. Please note that there is an annual maximum for this pre-tax benefit. The maximum dollar amount is found in IRS Publication 15-B. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 114 - name: Commuter Transit - description: Tax-free commuter benefits allow employees to reduce their monthly commuting expenses for transit, carpooling, bicycling, and work-related parking costs. Please note that there is an annual maximum for this pre-tax benefit. The maximum dollar amount is found in IRS Publication 15-B. - pretax: true - posttax: false - imputed: false - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 100 - name: Other (taxable) - description: Other taxable benefit - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Other - - benefit_type: 201 - name: Cell Phone (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 202 - name: Gym & Fitness (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 203 - name: Housing (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - - benefit_type: 204 - name: Wellness (taxable) - description: Employer-sponsored benefits like this are called fringe benefits, and they don’t get special tax treatment—they’ll be reported as taxable wages on your employees’ paystubs. - pretax: false - posttax: true - imputed: true - healthcare: false - retirement: false - yearly_limit: false - category: Transportation - Admin-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Admin" - examples: - Example: - value: - first_name: John - last_name: Smith - email: jsmith99@gmail.com - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - Admin-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Admin" - examples: - Example: - value: - - first_name: Katherine - last_name: Johnson - email: Katherine@acmecorp.com - uuid: 987058cc-23ee-46e9-81ef-5cee086cceca - - first_name: Anita - last_name: Borg - email: Anita@acmecorp.com - uuid: 5de11791-98fd-4587-9ed0-d5d804b8e647 - Company-Benefit-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Benefit" - examples: - Example: - value: - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - company_uuid: 881ce3f2-e3e1-49c9-8ad4-0bcf515f5618 - benefit_type: 1 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - Company-Benefit-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Company-Benefit" - examples: - Example: - value: - - uuid: d2cec746-caee-464a-bcaf-00d93f7049c9 - version: 98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872 - company_uuid: 528cc543-8a41-497e-b479-23a4c5ec77ac - benefit_type: 1 - active: true - description: Kaiser Permanente - source: external - partner_name: XYZ Corp - deletable: true - supports_percentage_amounts: true - responsible_for_employer_taxes: false - responsible_for_employee_w2: false - description: OK - Company-Custom-Field-List: - description: Example response - content: - application/json: - schema: - type: object - properties: - custom_fields: - type: array - items: - "$ref": "#/components/schemas/Company-Custom-Field" - examples: - Example: - value: - custom_fields: - - uuid: ea7e5d57-6abb-47d7-b654-347c142886c0 - name: employee_level - description: Employee Level - type: text - selection_options: - - uuid: 299650e4-e970-4acf-9bf0-6f05585d20ba - name: t-shirt size - description: What is your t-shirt size? - type: text - selection_options: - - uuid: 024ec137-6c92-43a3-b061-14a9720531d6 - name: favorite fruit - description: Which is your favorite fruit? - type: radio - selection_options: - - apple - - banana - - orange - Earning-Type-List: - description: Example response - content: - application/json: - schema: - type: object - properties: - default: - type: array - description: The default earning types for the company. - items: - "$ref": "#/components/schemas/Earning-Type" - custom: - type: array - description: The custom earning types for the company. - items: - "$ref": "#/components/schemas/Earning-Type" - examples: - Example: - value: - default: - - name: Bonus - uuid: b82e35c5-d7c6-4705-9e16-9f87499ade18 - - name: Cash Tips - uuid: f5618c94-ed7d-4366-b2c4-ff05e430064f - - name: Commission - uuid: 60191999-004a-49d9-b163-630574433653 - - name: Correction Payment - uuid: 368226e0-8e8c-48f0-bc91-aee46caafbc9 - - name: Minimum Wage Adjustment - uuid: 88a2e519-9ff5-4c19-9071-6a709f3c2939 - - name: Paycheck Tips - uuid: a3eaf03d-e712-4144-8f9b-71a85528adcf - - name: Severance - uuid: a6a2eba7-6c7d-4ced-bbe8-43452fbc9f63 - custom: - - name: Gym Membership Stipend - uuid: 6b4a8efb-db90-4c13-a75f-aae11b3f4ff9 - Earning-Type-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Earning-Type" - examples: - Example: - value: - name: Gym Membership Stipend - uuid: f4dc8972-8830-4c07-b623-349a04b040d7 - Employee-Benefit-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Benefit" - examples: - Example: - value: - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 908123091820398 - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - deduct_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - contribution: - type: amount - value: '100.00' - Tiered example: - value: - version: string - employee_uuid: 8f9f3f68-8fd3-499d-ade7-4a052e56494e - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '0.00' - deduct_as_percentage: false - employee_deduction_annual_maximum: string - contribution: - type: tiered - value: - tiers: - - rate: '5.0' - threshold: '2.0' - threshold_delta: '2.0' - - rate: '3.0' - threshold: '5.0' - threshold_delta: '3.0' - elective: false - company_contribution_annual_maximum: string - limit_option: string - catch_up: false - coverage_amount: string - deduction_reduces_taxable_income: unset - coverage_salary_multiplier: '0.00' - Employee-Benefit-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Benefit" - examples: - Example: - value: - - version: '09j3d29jqdpj92109j9j2d90dq' - employee_uuid: 8f9f3f68-8fd3-499d-ade7-4a052e56494e - company_benefit_uuid: 54e37c27-43e6-4ae5-a5b2-e29895a133be - active: true - uuid: e91ca856-a915-4339-9b18-29f9cd66b031 - employee_deduction: '100.00' - company_contribution: '100.00' - employee_deduction_annual_maximum: '200.00' - company_contribution_annual_maximum: '200.00' - limit_option: - deduct_as_percentage: false - contribute_as_percentage: false - catch_up: false - coverage_amount: - deduction_reduces_taxable_income: - coverage_salary_multiplier: '0.00' - Payroll-Update-Object: - description: A prepared payroll - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Prepared" - examples: - Example: - value: - payroll_deadline: '2022-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - off_cycle_reason: - external: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll_status_meta: - cancellable: false - expected_check_date: '2022-02-22' - initial_check_date: '2022-02-22' - expected_debit_time: '2022-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2022-02-18T22:00:00Z' - processing_request: - employee_compensations: - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7067 - version: 4ba36d23a78c7393b4900ef38019d8ff - excluded: false - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242ba5 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909ba - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '15.000' - job_uuid: 9d3760f0-d1f9-4700-8817-0fe2dce5cf23 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: b5eef9a9-4a87-4649-a80d-14878c05f44e - compensation_multiplier: 2 - flsa_status: Nonexempt - - name: Regular Hours - hours: '40.000' - job_uuid: 332bd171-9efc-432b-abbb-a75c9dba706a - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '5.000' - job_uuid: ca9b3dc1-57ac-4736-901a-9b1c9634b9d5 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: 1bad01e2-140c-49ed-9542-2388ce4a19b3 - compensation_multiplier: 2 - flsa_status: Nonexempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7012 - version: ff083257a5583291fb86656ad0df1b42 - excluded: false - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242b34 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e90955 - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Commission Only Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7781 - version: 259816479e3729bf855318af9b9adddf - excluded: false - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242bab - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909cd - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - fixed_compensation_types: - - name: Bonus - - name: Commission - - name: Paycheck Tips - - name: Cash Tips - - name: Correction Payment - - name: Anniversary Bonus - - name: Internet Stipend - - name: Reimbursement - Off-Cycle-Payroll-Object: - description: An off-cycle payroll - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Prepared" - examples: - Example: - value: - version: 19289df18e6e20f797de4a585ea5a91535c7ddf7 - payroll_deadline: '2022-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: true - off_cycle_reason: Bonus - external: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - withholding_pay_period: Every other week - skip_regular_deductions: true - fixed_withholding_rate: true - final_termination_payroll: false - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll_status_meta: - cancellable: false - expected_check_date: '2022-02-22' - initial_check_date: '2022-02-22' - expected_debit_time: '2022-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2022-02-18T22:00:00Z' - processing_request: - employee_compensations: - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7067 - excluded: false - payment_method: Direct Deposit - fixed_compensations: [] - memo: - hourly_compensations: - - name: Regular Hours - hours: '0.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '0.000' - job_uuid: 9d3760f0-d1f9-4700-8817-0fe2dce5cf23 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: b5eef9a9-4a87-4649-a80d-14878c05f44e - compensation_multiplier: 2 - flsa_status: Nonexempt - - name: Regular Hours - hours: '0.000' - job_uuid: 332bd171-9efc-432b-abbb-a75c9dba706a - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '0.000' - job_uuid: ca9b3dc1-57ac-4736-901a-9b1c9634b9d5 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: 1bad01e2-140c-49ed-9542-2388ce4a19b3 - compensation_multiplier: 2 - flsa_status: Nonexempt - paid_time_off: [] - Payroll-Show-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll" - examples: - Unprocessed: - value: - payroll_deadline: '2021-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - external: false - auto_pilot: false - processed: false - processed_date: - calculated_at: - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - payroll_status_meta: - cancellable: false - expected_check_date: '2021-02-22' - initial_check_date: '2021-02-22' - expected_debit_time: '2021-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2021-02-18T22:00:00Z' - submission_blockers: - - blocker_type: fast_ach_threshold_exceeded - blocker_name: Fast ACH Threshold Exceeded - unblock_options: - - unblock_type: wire_in - check_date: 2024-06-10 - metadata: - wire_in_deadline: '2024-06-19T18:00:00Z' - wire_in_amount: 400000.0 - - unblock_type: move_to_four_day - check_date: 2024-06-12 - metadata: {} - selected_option: - status: unresolved - processing_request: - Processed: - value: - payroll_deadline: '2021-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - external: false - auto_pilot: true - processed: true - processed_date: '2021-02-18' - calculated_at: '2021-02-18T12:00:00Z' - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - totals: - company_debit: '121747.71' - net_pay_debit: '79283.80' - tax_debit: '42463.91' - reimbursement_debit: '0.00' - child_support_debit: '0.00' - reimbursements: '0.00' - net_pay: '81752.94' - gross_pay: '130635.89' - employee_bonuses: '0.00' - employee_commissions: '18536.37' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - check_amount: '2469.14' - employer_taxes: '6917.19' - employee_taxes: '35546.72' - benefits: '0.00' - employee_benefits_deductions: '13336.23' - imputed_pay: '0.00' - deferred_payroll_taxes: '0.00' - other_deductions: '240.00' - company_taxes: - - name: MO Compensation Deduction - amount: "-0.92" - employer: true - - name: NY MCTMT - amount: '5.00' - employer: true - payroll_status_meta: - cancellable: false - expected_check_date: '2021-02-22' - initial_check_date: '2021-02-22' - expected_debit_time: '2021-02-18T22:00:00Z' - payroll_late: false - initial_debit_cutoff_time: '2021-02-18T22:00:00Z' - employee_compensations: - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7067 - excluded: false - gross_pay: '2791.25' - net_pay: '1953.31' - check_amount: '1953.31' - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242ba5 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909ba - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '15.000' - job_uuid: 9d3760f0-d1f9-4700-8817-0fe2dce5cf23 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: b5eef9a9-4a87-4649-a80d-14878c05f44e - compensation_multiplier: 2 - flsa_status: Nonexempt - - name: Regular Hours - hours: '40.000' - job_uuid: 332bd171-9efc-432b-abbb-a75c9dba706a - compensation_multiplier: 1 - flsa_status: Nonexempt - - name: Overtime - hours: '5.000' - job_uuid: ca9b3dc1-57ac-4736-901a-9b1c9634b9d5 - compensation_multiplier: 1.5 - flsa_status: Nonexempt - - name: Double overtime - hours: '0.000' - job_uuid: 1bad01e2-140c-49ed-9542-2388ce4a19b3 - compensation_multiplier: 2 - flsa_status: Nonexempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - benefits: - - name: Group Term Life - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: true - - name: 401K - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: false - deductions: - - name: Child Support - amount: '80.00' - taxes: - - name: Federal Income Tax - employer: false - amount: '646.69' - - name: Social Security - employer: true - amount: '191.25' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7012 - excluded: false - gross_pay: '2791.25' - net_pay: '1953.31' - check_amount: '1953.31' - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242b34 - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e90955 - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Commission Only Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - benefits: - - name: Group Term Life - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: true - - name: 401K - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: false - deductions: - - name: Child Support - amount: '80.00' - taxes: - - name: Federal Income Tax - employer: false - amount: '646.69' - - name: Social Security - employer: true - amount: '191.25' - - employee_uuid: 187412e1-3dbe-491a-bb2f-2f40323a7781 - excluded: false - gross_pay: '2791.25' - net_pay: '1953.31' - check_amount: '1953.31' - payment_method: Direct Deposit - fixed_compensations: - - name: Bonus - amount: '100.00' - job_uuid: 94e0d15e-9ed2-4077-98f6-64554f242bab - - name: Reimbursement - amount: '100.00' - job_uuid: 91bc3b43-ded0-4ee7-98fe-215499e909cd - hourly_compensations: - - name: Regular Hours - hours: '40.000' - job_uuid: bd378298-3e0c-4145-904a-baadf8a91fa3 - compensation_multiplier: 1 - flsa_status: Exempt - paid_time_off: - - name: Vacation Hours - hours: '20.000' - - name: Sick Hours - hours: '0.000' - - name: Holiday Hours - hours: '0.000' - benefits: - - name: Group Term Life - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: true - - name: 401K - employee_deduction: '100.00' - company_contribution: '50.00' - imputed: false - deductions: - - name: Child Support - amount: '80.00' - taxes: - - name: Federal Income Tax - employer: false - amount: '646.69' - - name: Social Security - employer: true - amount: '191.25' - credit_blockers: - - blocker_type: waiting_for_wire_in - blocker_name: Waiting for Wire In - unblock_options: - - unblock_type: submit_wire - check_date: 2024-06-10 - metadata: - wire_in_deadline: '2024-06-19T18:00:00Z' - wire_in_amount: 400000.0 - wire_in_request_uuid: 187412e1-3dbe-491a-bb2f-2f40323a421a - selected_option: submit_wire - status: unresolved - processing_request: - status: submit_success - errors: [] - Payroll-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Payroll-Minimal" - examples: - Example: - value: - - payroll_deadline: '2021-02-18T22:00:00Z' - check_date: '2021-02-22' - off_cycle: false - external: false - processed: true - processed_date: '2021-02-18' - calculated_at: '2021-02-18T12:00:00Z' - uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2021-02-01T22:00:00Z' - reversal_payroll_uuids: [] - pay_period: - start_date: '2021-02-01' - end_date: '2021-02-15' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - totals: - company_debit: '121747.71' - net_pay_debit: '79283.80' - tax_debit: '42463.91' - reimbursement_debit: '0.00' - child_support_debit: '0.00' - reimbursements: '0.00' - net_pay: '81752.94' - gross_pay: '130635.89' - employee_bonuses: '0.00' - employee_commissions: '18536.37' - employee_cash_tips: '0.00' - employee_paycheck_tips: '0.00' - additional_earnings: '0.00' - owners_draw: '0.00' - check_amount: '2469.14' - employer_taxes: '6917.19' - employee_taxes: '35546.72' - benefits: '0.00' - employee_benefits_deductions: '13336.23' - imputed_pay: '0.00' - deferred_payroll_taxes: '0.00' - other_deductions: '240.00' - - payroll_deadline: '2021-02-28' - check_date: '2021-03-01' - off_cycle: false - external: false - processed: false - processed_date: nil - calculated_at: nil - payroll_uuid: b50e611d-8f3d-4f24-b001-46675f7b5777 - company_uuid: 6bf7807c-a5a0-4f4d-b2e7-3fbb4b2299fb - created_at: '2022-02-01T22:00:00Z' - pay_period: - start_date: '2021-02-16' - end_date: '2021-03-01' - pay_schedule_uuid: 00ebc4a4-ec88-4435-8f45-c505bb63e501 - Payment-Configs-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Payment-Configs" - examples: - Example: - value: - company_uuid: 423dd616-6dbc-4724-938a-403f6217a933 - partner_uuid: 556f05d0-48e0-4c47-bce5-db9aea923043 - fast_payment_limit: '5000' - payment_speed: 2-day - Company-Bank-Account-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Bank-Account" - examples: - Example: - value: - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: bank_deposits - name: Employer Funding Account - Company-Bank-Account-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Company-Bank-Account" - examples: - Example: - value: - - uuid: 1263eae5-4411-48d9-bd6d-18ed93082e65 - company_uuid: e2c4c0ce-2986-48b9-86cf-ec27f6ed9a36 - account_type: Checking - routing_number: '851070439' - hidden_account_number: XXXX4087 - verification_status: verified - verification_type: bank_deposits - name: Employer Funding Account - Employee-Bank-Account-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Bank-Account" - examples: - Example: - value: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Employee-Bank-Account-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-Bank-Account" - examples: - Example: - value: - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Employee-Payment-Method-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Payment-Method" - examples: - Example: - value: - version: 63859768485e218ccf8a449bb60f14ed - type: Direct Deposit - split_by: Amount - splits: - - uuid: e88f9436-b74e-49a8-87e9-777b9bfe715e - name: BoA Checking Account - priority: 1 - split_amount: 500 - - uuid: 0d2b7f73-05d6-4184-911d-269edeecc30a - name: Chase Checking Account - priority: 2 - split_amount: 1000 - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - name: US Bank Checking Account - priority: 3 - split_amount: - Federal-Tax-Details-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Federal-Tax-Details" - examples: - Example: - value: - version: 5521489cc7c93732300805dcf87a5fd3 - tax_payer_type: S-Corporation - taxable_as_scorp: true - filing_form: '941' - has_ein: true - ein_verified: true - legal_name: Company Name LLC - effective_date: '2024-01-01' - deposit_schedule: Semiweekly - Employee-State-Taxes-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Employee-State-Tax" - examples: - Employee-State-Taxes-List-Example: - value: - employee_uuid: 92fa4d30-e284-43d0-a26e-605619c04beb - file_new_hire_report: false - is_work_state: true - state: CA - questions: - - label: Filing Status - description: 'The Head of Household status applies to unmarried individuals who have a relative living with them in their home. If unsure, read the CA Filing Status explanation. - -' - key: filing_status - input_question_format: - type: Select - options: - - value: S - label: Single - - value: M - label: Married one income - - value: MD - label: Married dual income - - value: H - label: Head of household - - value: E - label: Do Not Withhold - answers: - - value: S - valid_from: '2010-01-01' - valid_up_to: - - label: Withholding Allowance - description: 'This value is needed to calculate the employee''s CA income tax withholding. If unsure, use the CA DE-4 form to calculate the value manually. - -' - key: withholding_allowance - input_question_format: - type: Number - answers: - - value: 1 - valid_from: '2010-01-01' - valid_up_to: - - label: Additional Withholding - description: You can withhold an additional amount of California income taxes here. - key: additional_withholding - input_question_format: - type: Currency - answers: - - value: '0.0' - valid_from: '2010-01-01' - valid_up_to: - - label: File a New Hire Report? - description: State law requires you to file a new hire report within 20 days of hiring or re-hiring an employee. - key: file_new_hire_report - input_question_format: - type: Select - answers: - - value: true - valid_from: '2010-01-01' - valid_up_to: - Employee-Onboarding-Status-Object: - description: Example response. - content: - application/json: - schema: - "$ref": "#/components/schemas/Employee-Onboarding-Status" - examples: - Example: - value: - uuid: c44d66dc-c41b-4a60-9e25-5e93ff8583f2 - onboarding_status: admin_onboarding_incomplete - onboarding_steps: - - title: Personal details - id: personal_details - required: true - completed: false - requirements: [] - - title: Enter compensation details - id: compensation_details - required: true - completed: false - requirements: [] - - title: Add work address - id: add_work_address - required: true - completed: false - requirements: [] - - title: Add home address - id: add_home_address - required: true - completed: false - requirements: [] - - title: Enter federal tax withholdings - id: federal_tax_setup - required: true - completed: false - requirements: [] - - title: Enter state tax information - id: state_tax_setup - required: true - completed: false - requirements: - - add_work_address - - add_home_address - - title: Direct deposit setup - id: direct_deposit_setup - required: false - completed: false - requirements: [] - - title: Employee form signing - id: employee_form_signing - required: true - completed: false - requirements: - - federal_tax_setup - - state_tax_setup - Payroll-Blocker-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Payroll-Blocker" - examples: - Payroll Blockers: - value: - - key: wc_pending_approval - message: Worker's compensation policy needs to be accepted. - - key: eftps_in_error - message: We could not make payments to the Electronic Federal Tax Payment System. - - key: geocode_error - message: Company or employee address could not be verified. Please ensure all addresses are valid. - - key: geocode_needed - message: Company or employee address verification is missing. Please ensure all addresses are entered correctly. - - key: pay_schedule_setup_not_complete - message: Some employees don’t have a pay schedule set up yet. Please complete this step to run payroll. - - key: invalid_signatory - message: A signatory who is authorized to sign documents on behalf of your company is required. Please ensure their identity verification is successful. - - key: suspended - message: Company is suspended and cannot run payroll. - - key: soft_suspended - message: Company is placed in a 'soft' suspension state and requires missing/incorrect information to be corrected. - - key: pending_payroll_review - message: Payroll is blocked. We are reviewing payroll information in your account. Please contact support if you believe this is an error. - - key: pending_recovery_case - message: Payroll is blocked due to an open recovery case. Please contact support if you believe this is an error. - - key: pending_information_request - message: Payroll is blocked due to an open information request. Please contact support if you believe this is an error. - - key: needs_approval - message: Company needs to be approved to run payroll. - - key: missing_addresses - message: Company must add addresses in order to run payroll. - - key: missing_federal_tax_setup - message: Company must complete federal tax setup in order to run payroll. - - key: missing_industry_selection - message: Company must complete industry selection in order to run payroll. - - key: missing_bank_info - message: Company must have a bank account in order to run payroll. - - key: missing_employee_setup - message: Company must add employees in order to run payroll. - - key: missing_state_tax_setup - message: Company must complete state tax setup in order to run payroll. - - key: missing_pay_schedule - message: Company must have a pay schedule in order to run payroll. - - key: missing_forms - message: Company forms must be signed in order to run payroll. - - key: missing_bank_verification - message: Company bank account must be verified in order to run payroll. - - key: missing_signatory - message: Company must have a verified signatory in order to run payroll. - Generated-Document: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Generated-Document" - examples: - Example: - value: - document_urls: - - https://document.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: succeeded - Report: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Report" - examples: - Example: - value: - report_urls: - - https://report.url.com - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: succeeded - Create-Report: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Create-Report" - examples: - Example: - value: - file_type: csv - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - company_uuid: z83d0ca8-7d41-42a9-834y-7d218ef6cb20 - custom_name: CustomReport - Report-Template: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Report-Template" - examples: - Example: - value: - columns: - - regular_rate - - regular_hours - - regular_earnings - groupings: - - payroll - - employee - company_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - report_type: payroll_journal - Notification: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Notification" - examples: - Example: - value: - uuid: 7b1d0df1-6403-4a06-8768-c1dd7d24d27a - company_uuid: 88f7cca1-dcad-4d20-84db-7fb80303d69f - title: 'Action required: Additional information needed to process payroll' - message: If we do not receive this information as soon as possible, your payroll may not be processed on time. - category: information_request - actionable: true - can_block_payroll: true - published_at: '2022-01-01T00:00:00.000Z' - due_at: '2022-02-01T00:00:00.000Z' - template_variables: - blocked_task: Payroll - resources: - - entity_type: Employee - entity_uuid: 21b6f9ce-0ac4-4745-8d8a-127f8c0f00f2 - Event-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Event" - examples: - Example: - value: - - uuid: f7397a24-57ad-4fae-b011-d258e8232900 - event_type: employee.bank_account.created - resource_type: Company - resource_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - entity_type: BankAccount - entity_uuid: 92a20431-9489-4bde-ad27-6feb20b969d5 - timestamp: 1686784995 - Payroll-Check: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Check" - examples: - Example: - value: - payroll_uuid: a83d0bd8-7d20-43b9-834c-6d514ef6cb20 - printing_format: top - starting_check_number: '10' - request_uuid: p83d0ca8-7d41-42a9-834y-7d218ef6cb20 - status: pending - employee_check_number_mapping: - - employee_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - check_number: 10 - Payroll-Receipt: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Receipt" - examples: - Example: - value: - totals: - company_debit: '1080.47' - net_pay_debit: '748.34' - child_support_debit: '100.0' - reimbursement_debit: '50.0' - tax_debit: '182.13' - taxes: - - name: Federal Income Tax - amount: '30.36' - - name: Social Security - amount: '104.54' - - name: Medicare - amount: '24.46' - - name: Additional Medicare - amount: '0.0' - - name: TX SUTA - amount: '22.77' - - name: FUTA - amount: '0.0' - employee_compensations: - - employee_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - employee_first_name: Patricia - employee_last_name: Hamill - payment_method: Direct Deposit - net_pay: '748.34' - total_tax: '182.13' - total_garnishments: '0.0' - child_support_garnishment: '100.0' - total_reimbursement: '50.0' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - payroll_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - name_of_recipient: Payroll Recipients - recipient_notice: Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below. - debit_date: '2022-06-02' - license: ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses - Payroll-Reversal-List: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Payroll-Reversal" - examples: - Example: - value: - reversed_payroll_uuid: '09505984-8d8c-41a3-adbe-5740322ae8e9' - reversal_payroll_uuid: '0424688e-0a2e-4cd0-ac86-42283e788fb3' - reason: Customer Request - approved_at: - category: convert_check_ee_requested - reversed_employee_uuids: - - 5f036964-185e-4c85-bbf2-3873e1203b30 - Gross-Up-Pay: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Gross-Up-Pay" - examples: - Example: - value: - net_pay: '1183.25' - Contractor-Payment-Receipt: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Payment-Receipt" - examples: - Example: - value: - contractor_payment_uuid: afccb970-357e-4013-81f5-85dafc74f9b6 - name_of_recipient: Patricia Hamill - totals: - company_debit: '748.34' - contractor_payments: - - contractor_uuid: f83d0bd8-7e20-43b9-834c-6d514ef6cb47 - contractor_first_name: Patricia - contractor_last_name: Hamill - contractor_business_name: '' - contractor_type: Individual - payment_method: Direct Deposit - wage: '448.34' - bonus: '248.00' - reimbursement: '100.00' - licensee: - name: Gusto, Zenpayroll Inc. - address: 525 20th St - city: San Francisco - state: CA - postal_code: '94107' - phone_number: '4157778888' - company_uuid: c827aa0d-3928-4d5a-ab1f-400641a7d2b8 - name_of_sender: Torp and Sons and Sons - debit_date: '2022-06-02' - license: Your payroll provider partners with Gusto Inc. for payments processing. Gusto Inc. is a licensed money transmitter. Learn more on our license page. - license_uri: https://gusto.com/about/licenses - right_to_refund: https://gusto.com/about/licenses - liability_of_licensee: https://gusto.com/about/licenses - Contractor-Bank-Account-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Contractor-Bank-Account" - examples: - Example: - value: - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Contractor-Bank-Account-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Contractor-Bank-Account" - examples: - Example: - value: - - uuid: 1531e824-8d9e-4bd8-9f90-0d04608125d7 - contractor_uuid: 9fcf1b1d-8886-4691-9283-383d3bdd4fd9 - name: BoA Checking Account - routing_number: '266905059' - hidden_account_number: XXXX1207 - account_type: Checking - Time-Off-Policy-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Off-Policy" - examples: - Unlimited Policy: - value: - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: Test Vacation Unlimited Policy - policy_type: vacation - accrual_method: unlimited - accrual_rate: - accrual_rate_unit: - paid_out_on_termination: false - accrual_waiting_period_days: - carryover_limit_hours: - max_accrual_hours_per_year: - max_hours: - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a - - uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - Fixed Policy: - value: - uuid: 2439c13f-f6d7-4a93-af8c-175fd4cc7ce8 - company_uuid: f5f7b10d-2ddb-42f6-a955-d55320ce5316 - name: Test Vacation Fixed Policy - policy_type: vacation - accrual_method: per_anniversary_year - accrual_rate: '120.0' - accrual_rate_unit: - paid_out_on_termination: true - accrual_waiting_period_days: 0 - carryover_limit_hours: '240.0' - max_accrual_hours_per_year: '120.0' - max_hours: '300.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: de7a5fb3-2e0f-460a-abbf-467fe310bf5c - balance: '80.0' - - uuid: 92af03c7-a833-43ae-bae8-f67007a59b37 - balance: '60.0' - Hourly Policy: - value: - uuid: bd5f354f-12e0-4a5e-ad1f-953bb2685ad4 - company_uuid: 6767445f-5075-4ea4-a7f5-d5b5b93d4d60 - name: Test Vacation Hourly Policy - policy_type: vacation - accrual_method: per_hour_paid - accrual_rate: '4.0' - accrual_rate_unit: '80.0' - paid_out_on_termination: true - accrual_waiting_period_days: 30 - carryover_limit_hours: '200.0' - max_accrual_hours_per_year: '120.0' - max_hours: '240.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 1ea2764d-0f1a-4f09-b1d9-3006aecf63c4 - balance: '56.0' - - uuid: a0db19a2-7c8f-42b4-9d4c-2e6246c3d6e8 - balance: '84.0' - headers: {} - Time-Off-Policy-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Time-Off-Policy" - examples: - example: - value: - - uuid: 3f746cd0-dd08-408f-b712-8180c7c621e9 - company_uuid: de83cff2-8e7a-448e-a28c-14258a9971c3 - name: Test Vacation Unlimited Policy - policy_type: vacation - accrual_method: unlimited - accrual_rate: - accrual_rate_unit: - paid_out_on_termination: false - accrual_waiting_period_days: - carryover_limit_hours: - max_accrual_hours_per_year: - max_hours: - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - - uuid: 3633ce57-abb7-422f-8c5a-455566618e6a - - uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - - uuid: 2439c13f-f6d7-4a93-af8c-175fd4cc7ce8 - company_uuid: f5f7b10d-2ddb-42f6-a955-d55320ce5316 - name: Test Vacation Fixed Policy - policy_type: vacation - accrual_method: per_anniversary_year - accrual_rate: '120.0' - accrual_rate_unit: - paid_out_on_termination: true - accrual_waiting_period_days: 0 - carryover_limit_hours: '240.0' - max_accrual_hours_per_year: '120.0' - max_hours: '300.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: de7a5fb3-2e0f-460a-abbf-467fe310bf5c - balance: '80.0' - - uuid: 92af03c7-a833-43ae-bae8-f67007a59b37 - balance: '60.0' - - uuid: bd5f354f-12e0-4a5e-ad1f-953bb2685ad4 - company_uuid: 6767445f-5075-4ea4-a7f5-d5b5b93d4d60 - name: Test Vacation Hourly Policy - policy_type: vacation - accrual_method: per_hour_paid - accrual_rate: '4.0' - accrual_rate_unit: '80.0' - paid_out_on_termination: true - accrual_waiting_period_days: 30 - carryover_limit_hours: '200.0' - max_accrual_hours_per_year: '120.0' - max_hours: '240.0' - version: f5556bce3d75ec2b62bd11990aa7993a - is_active: true - complete: true - employees: - - uuid: 1ea2764d-0f1a-4f09-b1d9-3006aecf63c4 - balance: '56.0' - - uuid: a0db19a2-7c8f-42b4-9d4c-2e6246c3d6e8 - balance: '84.0' - Time-Off-Activity-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Off-Activity" - examples: - example: - value: - - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::AddToPolicy - event_description: 'Added to policy: Vacation Per Hour Worked' - effective_time: '2022-09-27T13:43:03.000-07:00' - balance: '0.0' - balance_change: '0.0' - - policy_uuid: a7838f74-4c29-4b70-9bfb-02a4e3e60709 - time_off_type: vacation - policy_name: Paid Time Off - event_type: TimeOffEvent::Accrual - event_description: Accrual - effective_time: '2022-09-27T14:43:03.000-07:00' - balance: '2.0' - balance_change: '2.0' - headers: {} - Invoice-Data-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Invoice-Data" - examples: - example: - value: - active_companies: - - company_uuid: 05ed3150-591e-4f8b-bfd5-55d478edd2d8 - active_employees: 5 - active_contractors: 3 - initial_invoice_period: 2022-01 - - company_uuid: 9b37429c-e540-40fb-86b3-738ca9af65c7 - active_employees: 0 - active_contractors: 1 - initial_invoice_period: 2023-05 - Minimum-Wage-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Minimum-Wage" - examples: - Example: - value: - - uuid: 70c523ff-c71e-4474-9c83-a4ea51bd54a8 - authority: State - wage: '13.0' - wage_type: Regular - effective_date: '2022-01-01' - notes: Employers with 6 or more employees - Information-Request-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Information-Request" - examples: - Example: - value: - - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - type: company_onboarding - status: pending_response - blocking_payroll: true - Recovery-Case-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Recovery-Case" - examples: - Example: - value: - - uuid: e83d273e-4ae9-4b61-9c71-4030c2f73093 - company_uuid: c5e3e3e9-732f-4762-849e-20b5cec9036f - status: open - latest_error_code: R01 - original_debit_date: 2023-10-11 - check_date: 2023-10-13 - payroll_uuid: 210f2034-fb4a-4059-b109-6c3b5efe499d - contractor_payment_uuids: - amount_outstanding: '10499.43' - event_total_amount: '5912.07' - Ach-Transaction-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Ach-Transaction" - examples: - Example: - value: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 456e7890-e12b-34c5-d678-901234567890 - payment_event_type: Payroll - payment_event_uuid: 789e0123-e45f-67ab-c890-123456789012 - recipient_type: Employee - recipient_uuid: 012e3456-f78d-90ab-12cd-345678901234 - error_code: - transaction_type: Credit employee pay - payment_status: submitted - payment_direction: credit - payment_event_check_date: 2023-10-02 - payment_date: 2023-10-17 - amount: '123.00' - description: PAY 380654 - Wire-In-Request-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Wire-In-Request" - examples: - example: - value: - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - status: awaiting_funds - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: 21911761 - recipient_routing_number: 123454321 - additional_notes: Additional Notes - bank_name: JP Morgan Chase - date_sent: 2024-06-10 - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: '1014500.00' - requested_amount: '1014500.00' - wire_in_deadline: '2024-06-21T18:00:00Z' - Wire-In-Request-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Wire-In-Request" - examples: - Example: - value: - - uuid: c5fdae57-5483-4529-9aae-f0edceed92d4 - status: awaiting - origination_bank: JP Morgan Chase - origination_bank_address: 1 Chase Plaza, New York, NY 10081 - recipient_name: Gusto, Inc - recipient_address: 525 20th Street, San Francisco, CA 94107 - recipient_account_number: 21911761 - recipient_routing_number: 5773243 - additional_notes: Additional Notes - bank_name: Chase - date_sent: 2024-06-10 - unique_tracking_code: 1trvxwxp57zf - payment_type: Payroll, - payment_uuid: 5faae454-e629-490b-a72a-c022c2c9e6bc - amount_sent: '1054693.52' - requested_amount: '1054693.52' - wire_in_deadline: '2024-06-21T18:00:00Z' - Time-Sheet-Object: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Time-Sheet" - examples: - example: - value: - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440000 - status: approved - time_zone: America/Los_Angeles - entity_type: Employee - version: 72deb67e16f7b92713c00d3582fa6c68 - job_uuid: 123e4567-e89b-12d3-a456-426655440000 - entity_uuid: 123e4567-e89b-12d3-a456-426655440000 - shift_started_at: '2025-03-04T13:07:10Z' - shift_ended_at: '2025-03-04T16:07:10Z' - created_at: '2025-04-29T16:08:53Z' - updated_at: '2025-04-29T16:08:53Z' - metadata: {} - entries: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Regular - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Overtime - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Double overtime - Time-Sheet-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Time-Sheet" - examples: - Example: - value: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - company_uuid: 123e4567-e89b-12d3-a456-426655440000 - status: approved - time_zone: America/Los_Angeles - entity_type: Employee - version: 72deb67e16f7b92713c00d3582fa6c68 - job_uuid: 123e4567-e89b-12d3-a456-426655440000 - entity_uuid: 123e4567-e89b-12d3-a456-426655440000 - shift_started_at: '2025-03-04T13:07:10Z' - shift_ended_at: '2025-03-04T16:07:10Z' - created_at: '2025-04-29T16:08:53Z' - updated_at: '2025-04-29T16:08:53Z' - metadata: {} - entries: - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Regular - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Overtime - - uuid: 123e4567-e89b-12d3-a456-426655440000 - hours_worked: '1.000' - pay_classification: Double overtime - Company-Suspension: - description: Example response - content: - application/json: - schema: - "$ref": "#/components/schemas/Company-Suspension" - Company-Suspension-List: - description: Example response - content: - application/json: - schema: - type: array - items: - "$ref": "#/components/schemas/Company-Suspension" - requestBodies: - post-employee-ytd-benefit-amounts-from-different-company: - required: true - content: - application/json: - schema: - type: object - properties: - benefit_type: - type: integer - description: The benefit type supported by Gusto. - tax_year: - type: number - minimum: 2000 - maximum: 2999 - description: The tax year for which this amount applies. - ytd_employee_deduction_amount: - type: string - default: '0.00' - description: The year-to-date employee deduction made outside the current company. - ytd_company_contribution_amount: - type: string - default: '0.00' - description: The year-to-date company contribution made outside the current company. - required: - - benefit_id - - tax_year - - ytd_employee_deduction_amount - - ytd_company_contribution_amount -security: - - CompanyAccessAuth: [] + description: Original filename with extension (e.g., "document.pdf"). Used for document uploads. + responses: + '200': + description: Information request successfully submitted + content: + application/json: + schema: + "$ref": "#/components/schemas/Information-Request" + '422': + description: Validation error - invalid responses or missing required answers + "$ref": "#/components/responses/Unprocessable-Entity-Error-Object" + '404': + "$ref": "#/components/responses/Not-Found-Error-Object" diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index fe02aa86..e1543607 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,30 +1,30 @@ -speakeasyVersion: 1.769.1 +speakeasyVersion: 1.771.0 sources: Gusto-App-Int-OAS: sourceNamespace: gusto-app-int-oas - sourceRevisionDigest: sha256:5f46e2fe34a4df36ff4e7c463ea216dbe5cfb24cada49cd30c580201d6747186 - sourceBlobDigest: sha256:de8917152f1bf7c3cd1fdf525a6d247ac9957aa6b05b983bf7d7075a8b923fbc + sourceRevisionDigest: sha256:91b3e6c6184738464266a690a096a5fd3ef55666defaa05dbd50b75fac506d32 + sourceBlobDigest: sha256:2961416da3462d538777da1e616b5efb43667cc6f026122ebfea5d8878714625 tags: - latest - "2025-06-15" Gusto-App-Int-OAS-v2026-06-15: sourceNamespace: gusto-app-int-oas-v2026-06-15 - sourceRevisionDigest: sha256:e490d3efb436e31cb1aee597995413be3eb8df307e217702fae008691e733977 - sourceBlobDigest: sha256:ab0cd18f291af245ed424bedaac2f7888db382f4f30445a2a7cff404d5e74064 + sourceRevisionDigest: sha256:07219a0bd514af8a8170ad6f12728829d4a1f44774d3cd244cf9a2f22f7dccaf + sourceBlobDigest: sha256:2354d4cf686b0884d8dc25b9f1d0da52a855b83d168bebc46992abf1d3b7f792 tags: - latest - "2026-06-15" Gusto-OAS: sourceNamespace: gusto-oas - sourceRevisionDigest: sha256:c6e7f57687bd797a94eed475d19dec03cd4fcda12021f276e8fd73879583bec0 - sourceBlobDigest: sha256:903e7233240b1031adb5c30f7e651b80418a8922e69b3c8e7b7f840881eaca84 + sourceRevisionDigest: sha256:af9887c5ed432b2dd98318b605203a2455788a361d1a4488f778a5e8ec7e1268 + sourceBlobDigest: sha256:823981351170cc798f8e4629ba9992708e0e746e14579b34ab2cd8c7d6c90285 tags: - latest - "2025-06-15" Gusto-OAS-v2026-06-15: sourceNamespace: gusto-oas-v2026-06-15 - sourceRevisionDigest: sha256:71d111070a670d6af587dd9e2d68f80d74430837608b1a2ce4b45a076e17721c - sourceBlobDigest: sha256:ccb1178c3ecfab4e01ced2dc2e6498045f81b3e65e974deca165ac090bfe5f64 + sourceRevisionDigest: sha256:1c52a78ed53365c5f3c47d06727d12d661f76e7a7388b4fca28f669b012d523f + sourceBlobDigest: sha256:8ee662668cbe5105a62a974afe89f1f00cbc0ded73e45c94fa33d6134a09a61a tags: - latest - "2026-06-15" @@ -32,31 +32,31 @@ targets: gusto: source: Gusto-OAS sourceNamespace: gusto-oas - sourceRevisionDigest: sha256:c6e7f57687bd797a94eed475d19dec03cd4fcda12021f276e8fd73879583bec0 - sourceBlobDigest: sha256:903e7233240b1031adb5c30f7e651b80418a8922e69b3c8e7b7f840881eaca84 + sourceRevisionDigest: sha256:af9887c5ed432b2dd98318b605203a2455788a361d1a4488f778a5e8ec7e1268 + sourceBlobDigest: sha256:823981351170cc798f8e4629ba9992708e0e746e14579b34ab2cd8c7d6c90285 codeSamplesNamespace: gusto-oas-python-code-samples - codeSamplesRevisionDigest: sha256:f866d1ceaf0779b61abc2816ef22b72cf1fe99bc67e81eb3b4dcb3fde8978b5d + codeSamplesRevisionDigest: sha256:0f5c22021d68ab001065f63f85f4cfc61bdb107b67a98cafa7a1d6c9a84e0693 gusto-app-int: source: Gusto-App-Int-OAS sourceNamespace: gusto-app-int-oas - sourceRevisionDigest: sha256:5f46e2fe34a4df36ff4e7c463ea216dbe5cfb24cada49cd30c580201d6747186 - sourceBlobDigest: sha256:de8917152f1bf7c3cd1fdf525a6d247ac9957aa6b05b983bf7d7075a8b923fbc + sourceRevisionDigest: sha256:91b3e6c6184738464266a690a096a5fd3ef55666defaa05dbd50b75fac506d32 + sourceBlobDigest: sha256:2961416da3462d538777da1e616b5efb43667cc6f026122ebfea5d8878714625 codeSamplesNamespace: gusto-app-int-oas-python-code-samples - codeSamplesRevisionDigest: sha256:58300f5a5e98b8f203d344913f778a32382d80901c29871b89bbcc8b3f537641 + codeSamplesRevisionDigest: sha256:123de14b483d0da8db6e22382111e62e39b1e1a129cfef9c451db9c197fef7a0 gusto-app-int-v2026-06-15: source: Gusto-App-Int-OAS-v2026-06-15 sourceNamespace: gusto-app-int-oas-v2026-06-15 - sourceRevisionDigest: sha256:e490d3efb436e31cb1aee597995413be3eb8df307e217702fae008691e733977 - sourceBlobDigest: sha256:ab0cd18f291af245ed424bedaac2f7888db382f4f30445a2a7cff404d5e74064 + sourceRevisionDigest: sha256:07219a0bd514af8a8170ad6f12728829d4a1f44774d3cd244cf9a2f22f7dccaf + sourceBlobDigest: sha256:2354d4cf686b0884d8dc25b9f1d0da52a855b83d168bebc46992abf1d3b7f792 codeSamplesNamespace: gusto-app-int-oas-python-code-samples-v2026-06-15-code-samples - codeSamplesRevisionDigest: sha256:8e96894b323b9f9bac05e976b06c1eaa52efbcdbdfa13a7e8653841799f43aa8 + codeSamplesRevisionDigest: sha256:266144ccbeaaf04ece3e38a73fba10f0bc3d375d41b2175ef47ca8a141254c65 gusto-v2026-06-15: source: Gusto-OAS-v2026-06-15 sourceNamespace: gusto-oas-v2026-06-15 - sourceRevisionDigest: sha256:71d111070a670d6af587dd9e2d68f80d74430837608b1a2ce4b45a076e17721c - sourceBlobDigest: sha256:ccb1178c3ecfab4e01ced2dc2e6498045f81b3e65e974deca165ac090bfe5f64 + sourceRevisionDigest: sha256:1c52a78ed53365c5f3c47d06727d12d661f76e7a7388b4fca28f669b012d523f + sourceBlobDigest: sha256:8ee662668cbe5105a62a974afe89f1f00cbc0ded73e45c94fa33d6134a09a61a codeSamplesNamespace: gusto-oas-python-code-samples-v2026-06-15-code-samples - codeSamplesRevisionDigest: sha256:d96ad660ca939d2e0c302eeeb48f84e6f1aafbdacee521b4ec28c147e2e58750 + codeSamplesRevisionDigest: sha256:ce112b9564de812ecd71abd320827d75c40d9d63ab0d43a6b66bdff17cde4a3e workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 67f8fbb2..0988c539 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -98,4 +98,14 @@ Based on: ### Generated - [python v0.0.1] gusto_app_int_v_2026_06_15 ### Releases -- [PyPI v0.0.1] https://pypi.org/project/gusto_app_integration_v_2026_06_15/0.0.1 - gusto_app_int_v_2026_06_15 \ No newline at end of file +- [PyPI v0.0.1] https://pypi.org/project/gusto_app_integration_v_2026_06_15/0.0.1 - gusto_app_int_v_2026_06_15 + +## 2026-06-06 00:58:00 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.771.0 (2.893.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.0.2] gusto_embedded_v_2026_06_15 +### Releases +- [PyPI v0.0.2] https://pypi.org/project/gusto_embedded_v_2026_06_15/0.0.2 - gusto_embedded_v_2026_06_15 \ No newline at end of file diff --git a/gusto_app_int/.speakeasy/gen.lock b/gusto_app_int/.speakeasy/gen.lock index c52af330..146583fb 100644 --- a/gusto_app_int/.speakeasy/gen.lock +++ b/gusto_app_int/.speakeasy/gen.lock @@ -1,20 +1,20 @@ lockVersion: 2.0.0 id: 307f4640-0d05-4c9e-b275-cb7fc716aa23 management: - docChecksum: c47824f79b646b9dfe49c613e500ba23 + docChecksum: bbc3defdf6aa6e07259f1ec782d6e3cf docVersion: "2025-06-15" - speakeasyVersion: 1.769.1 - generationVersion: 2.892.1 - releaseVersion: 0.4.0 - configChecksum: 2a73c80c4a87a95af9745c5daf2d7480 + speakeasyVersion: 1.771.0 + generationVersion: 2.893.0 + releaseVersion: 0.4.1 + configChecksum: c41b6071ef3647886d04f031a6f58654 repoURL: https://github.com/Gusto/gusto-python-client.git repoSubDirectory: gusto_app_int installationURL: https://github.com/Gusto/gusto-python-client.git#subdirectory=gusto_app_int published: true persistentEdits: - generation_id: 4549c3d2-db58-46d8-bbab-c52c2070692f - pristine_commit_hash: 2a7a0b0eb388d7b5c7669e89f6e4977966b579fa - pristine_tree_hash: 23882c3e1b55a14905d56e19073803d8c480221c + generation_id: 32693bbd-4a40-43f3-af84-1a7135a523e3 + pristine_commit_hash: 68b8aa719087d494d962fbcf346e707aa0124fcf + pristine_tree_hash: 5c6b324a7a8f6562d3a41ce607fda5235512e1ea features: python: additionalDependencies: 1.1.0 @@ -437,8 +437,8 @@ trackedFiles: pristine_git_object: 08f9564971543019558961cb923bc5452d1fed77 docs/models/deletedepartmentrequest.md: id: ba9cf41722bf - last_write_checksum: sha1:8af1f594a2dfa6277b7cb31bf14a20dca38b9e02 - pristine_git_object: fa5403d9558d867938b11fddc5ab6390ff2d5b76 + last_write_checksum: sha1:307ae1ed3132c076e19633d12c2e1735755c408b + pristine_git_object: 5e11e97f01a08b6f1bf458b84061e81cf79fbb71 docs/models/deletetimetrackingtimesheetstimesheetuuidheaderxgustoapiversion.md: id: e614d5dda662 last_write_checksum: sha1:9f69da79b3519ecb7ef89a9c3d499702e61789b6 @@ -525,8 +525,8 @@ trackedFiles: pristine_git_object: 17edbc2106ead19f7b13f4ab55890aca92f6ba46 docs/models/deletev1webhooksubscriptionuuidrequest.md: id: 24f1d40e16f6 - last_write_checksum: sha1:f0ffa08b88ab307c76aa2c45beaa5baa801b4439 - pristine_git_object: b44156c9feee50ace1fb938c36ce6cafcce293fa + last_write_checksum: sha1:e5579667f0169dedc74f5eb2397b9902e3c262c5 + pristine_git_object: 3b1cbfd9ce7914558acfacd77fb3c4bdde90e45a docs/models/deletev1webhooksubscriptionuuidsecurity.md: id: 3deb093db84b last_write_checksum: sha1:8740b24efc9bb23066f3d39311254a17b913b79d @@ -537,8 +537,8 @@ trackedFiles: pristine_git_object: 305531168993b6eb9d21dc3874e6a6cc8aa970d1 docs/models/deletev1workaddressesworkaddressuuidrequest.md: id: 35718dbe6d0b - last_write_checksum: sha1:51a04e719ff7033831b29ebb321148f81dafcf04 - pristine_git_object: e21c51ef856960c88973c35533d240413bf288d9 + last_write_checksum: sha1:a8126fe3d046f4e504bdf7fb970912f0f99b85e1 + pristine_git_object: 103375b831f574790646bb08af3d2734a0f30f67 docs/models/department.md: id: a35d7d606751 last_write_checksum: sha1:e95e89d95baabecc7468eef38b5c06eeb2fd54db @@ -837,8 +837,8 @@ trackedFiles: pristine_git_object: a820e742340e4036ce7230c9144c3fea2970ec87 docs/models/getcompaniesdepartmentsrequest.md: id: a61ebf4ee118 - last_write_checksum: sha1:f13fbaf077f9bb422598183d6239c7ee0b0d9cf8 - pristine_git_object: 0ec638e323177c89b1948d655f31d4314099b377 + last_write_checksum: sha1:e2f954a0df55b1e1697f7c016e37cd0197db3383 + pristine_git_object: d598309d2ca3ad4694db5a0aa6dc9d9296a165d4 docs/models/getcompanynotificationsheaderxgustoapiversion.md: id: 09f6be0fe6a0 last_write_checksum: sha1:7d369339f8502f5704d4c6572ceb19ada67e62c3 @@ -849,16 +849,16 @@ trackedFiles: pristine_git_object: 7221596c2e6f157cf295b370c1089a61ae54a962 docs/models/getcompanynotificationsrequest.md: id: d9d552594b63 - last_write_checksum: sha1:9a20e7c6da53e7043b716963afc47d7640be5a76 - pristine_git_object: 404d78400b72432194fbbd9b44d0a4817b4e305c + last_write_checksum: sha1:7fb3d0b45210034bca05f9ba006fd204a04bd1dc + pristine_git_object: cf42bcf3034e05154a9cadaee80b43a824fbff80 docs/models/getdepartmentheaderxgustoapiversion.md: id: 2b542b244895 last_write_checksum: sha1:642c273c79cff99c82436f84ac6a938572c9dbc8 pristine_git_object: a6197df7b53ac92b5daa95abb133e960a01b4a8a docs/models/getdepartmentrequest.md: id: 4224280cb519 - last_write_checksum: sha1:1af0b412d6aa245611b3d218d888de0ab110455b - pristine_git_object: 8db1cf927cb21ac7a70fab04402c324d4c3f2bc9 + last_write_checksum: sha1:66966f9bcf28b586c0346f777079735e1ef616a1 + pristine_git_object: 23a6159c7c251ac2048e14c3d3bfb0f6d7bdf105 docs/models/getemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: da7bbcc52e44 last_write_checksum: sha1:c19d329eeb91a6a22886a3fcbf3a1f1e9ed06df4 @@ -977,8 +977,8 @@ trackedFiles: pristine_git_object: 08afe5d8e4326420d6dae03c5a930f660b289db7 docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md: id: 521c21287e14 - last_write_checksum: sha1:ee93ea69a420b707fe13ea0d71c9e69446d9f21e - pristine_git_object: 0d986047a45cdccf132060337ccc89a8b6795a60 + last_write_checksum: sha1:c1822673c6c6fde73b763df3b0eff9bc543963f7 + pristine_git_object: 3e6b39b9cb0af6cf582d5d9f753beae73e39e071 docs/models/getv1companiescompanyidcustomfieldsheaderxgustoapiversion.md: id: 31414dab58c7 last_write_checksum: sha1:edac0010e9f46ee373012f7521c9cec74586f6c0 @@ -1033,16 +1033,16 @@ trackedFiles: pristine_git_object: 94df1d085325640e076ed3c99ead9b1a3f54ced2 docs/models/getv1companiescompanyidpayrollspayrollidrequest.md: id: 18b7df56f915 - last_write_checksum: sha1:1f724cbaa4c349e5b27fe0512ae8a33a4c40ca28 - pristine_git_object: 437f96d447b639d69e898c4439f7a1bc63f621e8 + last_write_checksum: sha1:666a8b347d05884f7cd3de16d318b96828a25719 + pristine_git_object: bc90ad8697ecd47ec44159164e4b7738df745bb6 docs/models/getv1companiescompanyidpayrollsqueryparaminclude.md: id: f0ab7b48060c last_write_checksum: sha1:8d4be1632bb0ff462088c7a7d7099c3bf801e5f8 pristine_git_object: f37423aafd38e28133ef01990564e3e63f5e19b8 docs/models/getv1companiescompanyidpayrollsrequest.md: id: f74644d59582 - last_write_checksum: sha1:e3cb1d8d7aaff16608512b587d7cd0ee6e4f338b - pristine_git_object: 7b26f6d65bd796a323d49195e4f9aabc25b84f05 + last_write_checksum: sha1:be9742988d94860630281c3922aaff56091fe97e + pristine_git_object: 4d1db6dd7a2fe6c45eb850c695e97c57b3c77724 docs/models/getv1companiescompanyidpayschedulesassignmentsheaderxgustoapiversion.md: id: 8de2ec62f405 last_write_checksum: sha1:f334b0a6a1975eedd60cd316ce6cb1e27dae94b7 @@ -1109,8 +1109,8 @@ trackedFiles: pristine_git_object: a1008af188190578bd2803cc8bc6c8b8a4ff93a6 docs/models/getv1companiesrequest.md: id: e2f1037ade12 - last_write_checksum: sha1:34d99629ebd4b9e00c11940f14a29e5f3b7d6404 - pristine_git_object: ddf4598ff558fc0bf94368fb59dafe71ad520980 + last_write_checksum: sha1:755dc3743653fbba8faf5803705fcedd24a38814 + pristine_git_object: 4a4c0132dbb7845ff662ecbee81ef4dd5ba70086 docs/models/getv1companybenefitscompanybenefitidcontributionexclusionsheaderxgustoapiversion.md: id: 0fa158f0c89d last_write_checksum: sha1:a6e5e7600198590af8f6d6de953408fdcd20b6f1 @@ -1177,8 +1177,8 @@ trackedFiles: pristine_git_object: 21615f5d0a97d13f00be28fd4cb403b9a6d98437 docs/models/getv1employeesemployeeidcustomfieldsrequest.md: id: 528971b8aa8d - last_write_checksum: sha1:3998cc6d74753e9e2ab1042523e226deed73728c - pristine_git_object: ad3665fed8d31556b04063492b74668c3893adb6 + last_write_checksum: sha1:543fedfe62da50ed887c6efcf07630b42a81e687 + pristine_git_object: dd48aea74608c9e6e059498eba97a908fd8b0ddd docs/models/getv1employeesemployeeidemployeebenefitsheaderxgustoapiversion.md: id: 9f1ff8ca4dba last_write_checksum: sha1:b12fab5826cac3eb97ec750682852b9fd0136367 @@ -1213,8 +1213,8 @@ trackedFiles: pristine_git_object: 5eac8d21a6e960afd2a4439ff18cd47a4aecb2f4 docs/models/getv1employeesemployeeidhomeaddressesrequest.md: id: 2db0bc82832c - last_write_checksum: sha1:4bf5c24ca76cd171eda42e8f3b1404f960b6f4dc - pristine_git_object: 25bcddc36560596b77b6e02f1a039dd9fc78ab72 + last_write_checksum: sha1:424c4f5f2de86c18ab7813da2d26a394876bf1b1 + pristine_git_object: 50cef7ab0ddfc6c1174e377db7190b14569aed06 docs/models/getv1employeesemployeeidrecurringreimbursementsheaderxgustoapiversion.md: id: 0e93a1f4829a last_write_checksum: sha1:ddaca0005721108fb2c9113aafc437d8c3d50917 @@ -1245,24 +1245,24 @@ trackedFiles: pristine_git_object: 9db2bf6ef1bef9e90a265d7a6d2588c68b38be5b docs/models/getv1employeesemployeeidworkaddressesrequest.md: id: e43728e47a3a - last_write_checksum: sha1:f4fcdf809ccf7d0ae3c3b132337f789a24e8ef0a - pristine_git_object: 00b143d58c5ff80209473e31642b9618bc60a943 + last_write_checksum: sha1:7f23586e14e8f0544a5d6ab12c83adf7309c26f6 + pristine_git_object: 93254bf5957eb2e1c49d76f7f57bd587d9d53771 docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md: id: e8e95778d715 last_write_checksum: sha1:e4aeaade5941b20e811fb1076d7e5d7f58c0ee8e pristine_git_object: 1ac69162afcb724bda2d1a5f5161c76722d07453 docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 26a889c306e3 - last_write_checksum: sha1:c75f797082d41d5939a9576e8095bb4a91ff642f - pristine_git_object: 098f64eadf222fd3f023fc69a38bea18fd042454 + last_write_checksum: sha1:2ce9bc8050060d129120c6af43a5e58338365a41 + pristine_git_object: 2d27a7def9dc48592f4f927e4b1e62a241050d14 docs/models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md: id: cd07a69db8b3 last_write_checksum: sha1:501c72ce6de2a2ed4766734979338339c6bb9a35 pristine_git_object: 80c75d58136711343332bfc530da3b0673888fee docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: 800013cafed2 - last_write_checksum: sha1:a3e99abdd2c8d04150e293f25b6ae031534952d5 - pristine_git_object: de8d6594a51ea6b711fbff54f6488ccff101bf9e + last_write_checksum: sha1:646852b4312d1a7e810a472f12a82498a18318a4 + pristine_git_object: 743bef6256e81fc0bc30d84713e33d669bf679f5 docs/models/getv1employeesheaderxgustoapiversion.md: id: 8662bc987474 last_write_checksum: sha1:92568252100930d44c9c121ffd00f1d0a2681d0e @@ -1293,8 +1293,8 @@ trackedFiles: pristine_git_object: 6b29a606d6ab65d7a5b563097133f7cc8528bf33 docs/models/getv1homeaddresseshomeaddressuuidrequest.md: id: 28fc8b01d014 - last_write_checksum: sha1:29634ec1d0dcaa76de944e5ef8f26b727fa761b7 - pristine_git_object: 654451d4b21846e3139f3589f44d2b97d3a78079 + last_write_checksum: sha1:40fb3788a3f454730152f0e96b60f059eeb2a439 + pristine_git_object: fd27eac533d55b33504965e97faf7af740759c5f docs/models/getv1jobsjobidcompensationsheaderxgustoapiversion.md: id: d9db13bfa8f4 last_write_checksum: sha1:c7280135948bc0f2ea09e5a5fd314d7651dd60fe @@ -1321,8 +1321,8 @@ trackedFiles: pristine_git_object: f5bd017993bdfdb8bb1d54c67c7c6afa63eb332d docs/models/getv1locationslocationuuidminimumwagesrequest.md: id: 240a22a8d2f4 - last_write_checksum: sha1:0c9b8f7e0e649398c6ed86767795597247c5512c - pristine_git_object: 12dc539732e03bc7918fa574b41ac160c270501e + last_write_checksum: sha1:75b1c331c82b052a36df5cccf5d029cd33c0e302 + pristine_git_object: 7b94700f8c5790de2b982cf2fe46065036bf57fc docs/models/getv1recurringreimbursementsheaderxgustoapiversion.md: id: b64d7c2c5185 last_write_checksum: sha1:92ba716b93f19a80b1f2ee8eb23b5fa4e8868e16 @@ -1401,8 +1401,8 @@ trackedFiles: pristine_git_object: d55fb9cb6d3e0547f99329a4774ddc46f3d7d8c3 docs/models/getv1webhooksubscriptionuuidrequest.md: id: 8274fc2e1315 - last_write_checksum: sha1:d29bfd06b696660069f114b75b322b15692ce980 - pristine_git_object: 1668e8ab3d7e5f7cbf2a94cfe2e3e26adf59f73f + last_write_checksum: sha1:08fc1b42ffe44c430ec148bf9114c504dff5f2df + pristine_git_object: 227e3d31aa791520747f1d8ff00a50eeb561da3c docs/models/getv1webhooksubscriptionuuidsecurity.md: id: dd2624fa02af last_write_checksum: sha1:be3cfd94b2d1ce8ac5630aeff3d15fd1a02b8f7e @@ -1413,8 +1413,8 @@ trackedFiles: pristine_git_object: 43577270ac69c57645d438eebee615cbb23062ae docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md: id: ac93c05cb2ff - last_write_checksum: sha1:fcbde7fcdeb8dec50aca9c9c281ffe492fda9e6f - pristine_git_object: 9f8ff4ca44f07ebc5a3ba9f96dafd5cc10a6891d + last_write_checksum: sha1:5dc7cb3e213a3c958cd756095f9d2190895799e0 + pristine_git_object: 4fabc561e29ad113db0b779aa9a4700f786e7c19 docs/models/getv1webhooksubscriptionverificationtokenuuidsecurity.md: id: aab731f5d8e5 last_write_checksum: sha1:f43b34588877321b110362087021516fe53bb302 @@ -1425,8 +1425,8 @@ trackedFiles: pristine_git_object: 256bb30892a356aecd7bb526c732897b73e5afdf docs/models/getv1workaddressesworkaddressuuidrequest.md: id: b0234750f955 - last_write_checksum: sha1:94637b19f0318e362d75b125a062b39ccf5f3cb5 - pristine_git_object: 7888f2035b06c2c11d4a8b4a22901a6c51b43600 + last_write_checksum: sha1:98c4c6a589490c65677dd9a99f94274d8a403371 + pristine_git_object: 93b1aabd846b34cbb59ddff3531655330210c93d docs/models/getversionemployeestimeoffactivitiesheaderxgustoapiversion.md: id: 98b80660e466 last_write_checksum: sha1:8eed84235a7db13903c6169e00e9a13b54769625 @@ -1535,10 +1535,14 @@ trackedFiles: id: 9c4afe5a3330 last_write_checksum: sha1:5609867a51fa59d3ca95dbc2658c87a0026fcdb7 pristine_git_object: 9400498f83c8a29d05a781a8c2c302bcb50fe728 + docs/models/oauthaccesstokenheaderxgustoapiversion.md: + id: d7eb4dce40ea + last_write_checksum: sha1:72c5c653a95b8c28073448b709d629f1670121e2 + pristine_git_object: bee2512d605f9e141afc72f027f1cb13910ac3d5 docs/models/oauthaccesstokenrequest.md: id: 47ba6b9598e9 - last_write_checksum: sha1:5b0872cd5305cb6e1bc99e0e2e71f972363a8596 - pristine_git_object: 6bc2108aa9f4fd529a46f3be914cabff240272e6 + last_write_checksum: sha1:60c12e2d0db81253df9a8bbc86fd6dc52cd2dca6 + pristine_git_object: a3b01ce68ba6b147fd04708b37be6173985fd006 docs/models/oauthaccesstokenrequestbody.md: id: b8877cb69c64 last_write_checksum: sha1:97b5f83cb698244a993f192c140db654368f932a @@ -1569,8 +1573,8 @@ trackedFiles: pristine_git_object: eb66dfda687a6fb549947825df3694f3f7e1f3a3 docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 15150bb2f878 - last_write_checksum: sha1:6de0408205ebd8c87fe6b3c6368bad269bd29c52 - pristine_git_object: 89e2ff87a1a0a6d210c62d787b19d5ce095aea75 + last_write_checksum: sha1:73e73bf8dc7394e0b532fde84d472b9d70b498c4 + pristine_git_object: 0347af6b510719743c44c9234d380dc50d847d78 docs/models/payclassification.md: id: 76068b5bec14 last_write_checksum: sha1:ba78d47ff5cb9e0c81bbdffa27138c9e288724cd @@ -1881,8 +1885,8 @@ trackedFiles: pristine_git_object: 023f3b1d9c4dcabf141ceb6db0ab098346e7b549 docs/models/postdepartmentsrequest.md: id: 4018caf28870 - last_write_checksum: sha1:4acdf4f3fec191aae1d69307a743038466051af9 - pristine_git_object: a050d19ca6e2e4d25f35ca7bc6489e4d3210822b + last_write_checksum: sha1:2825d67eb7553542e853db74d15640536a93a6fd + pristine_git_object: b969b425d66bad91a9e51865d2e557c064bb601f docs/models/postemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: 4ba357eff9d0 last_write_checksum: sha1:c01a9979cf684ae0f1a50ea57109b74d50845cb6 @@ -1989,8 +1993,8 @@ trackedFiles: pristine_git_object: 3f3c9321c9344f440573ef07383667c77bff23b5 docs/models/postv1employeesemployeeidhomeaddressesrequest.md: id: 09f45e83475a - last_write_checksum: sha1:b4ce8e05a1b87e1207d23c2148b9daf525df19de - pristine_git_object: ac3e4b6268fd610d4e3474d5dca651157b680185 + last_write_checksum: sha1:46e51df7c53ed852f44df48688060cd388c576da + pristine_git_object: 1ae15ad1282678647e8a664dddba1e171854f180 docs/models/postv1employeesemployeeidhomeaddressesrequestbody.md: id: 796e03da5af8 last_write_checksum: sha1:29bce5bdac51eabf4bc3b00ad09c5bf85edaf4e3 @@ -2053,8 +2057,8 @@ trackedFiles: pristine_git_object: c6a2b5623faa3494e0c90a585ce017edc746e6e6 docs/models/postv1employeesemployeeidworkaddressesrequest.md: id: 9a13857b1e01 - last_write_checksum: sha1:fe356abb32a867ecaa6db68b168c213107761af2 - pristine_git_object: e7464da01766ff95eff906451af702d344675825 + last_write_checksum: sha1:ad88ce6b2cef156f024a46903b758803fde0587b + pristine_git_object: d976074fd0f7ecb99b828e4bca2fd2ddc19b0560 docs/models/postv1employeesemployeeidworkaddressesrequestbody.md: id: 3250db5a72e5 last_write_checksum: sha1:84cd5d039ae43dba89c1ce66d8bc7bbfc220248c @@ -2065,8 +2069,8 @@ trackedFiles: pristine_git_object: 6cbd80a1a83d0783a967da08fd4bc544b07e2b07 docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: a2a27c0aec9e - last_write_checksum: sha1:1c8a8befc42881593583de808b756c265ab684c0 - pristine_git_object: bade223a131a2391c26aa27c00a7b28e62a8e84f + last_write_checksum: sha1:967dcfb9672449cf9833ee2eb01ce8474476fe58 + pristine_git_object: 14d3fb7be36374059836c9dae846d21f2fbf157a docs/models/postv1employeesheaderxgustoapiversion.md: id: 63eba27d02c1 last_write_checksum: sha1:e4759b97dd0c54cb096d932a56d0b618973f2a0d @@ -2087,10 +2091,14 @@ trackedFiles: id: b3cfe1283a07 last_write_checksum: sha1:5ee6be169908d69f94ad2553886fdaf0f0ad3554 pristine_git_object: 20e5c759c2950b0ff32b27b891ea7f5afa64e548 + docs/models/postv1provisionheaderxgustoapiversion.md: + id: 82f7f37b8b8f + last_write_checksum: sha1:debcb0287d2d4af1afaac08277a87e93a2815cff + pristine_git_object: 42d6d6a8e41f216f489f76e7086b6669e6d97819 docs/models/postv1provisionrequest.md: id: 99bc26028b65 - last_write_checksum: sha1:f722a45f94c7de6fdd7a39a7587d69fbdd142ac9 - pristine_git_object: 1423b3a18924a7f54c4ad48177891e6c827956e7 + last_write_checksum: sha1:1cb4ffca1bf21e393daead591da36000e9ef8cf9 + pristine_git_object: 3659c00fd3718023c5985a708cb77acba85902e4 docs/models/postv1provisionsecurity.md: id: c734c14ff86a last_write_checksum: sha1:3886151894e9947d5099a635a384a5eabb527038 @@ -2125,8 +2133,8 @@ trackedFiles: pristine_git_object: 553017f5abc350f1359f3b0aff2993dee19d191b docs/models/postv1webhooksubscriptionsubscriptiontypes.md: id: 9526e8313c09 - last_write_checksum: sha1:22dbb183747f1e17bb60f56225b62c9ebbb6c65a - pristine_git_object: c189ad8fce8301252bf73bb1327f2522da25168a + last_write_checksum: sha1:1239c886b52d72f8b2220fddd8f59e9d6f30ad90 + pristine_git_object: 5d1f32cb9a1765156f316b49fb697176795c7bd8 docs/models/primarypayrolladmin.md: id: 7ed028b83854 last_write_checksum: sha1:704e4481aa982c77f08389292da608da94897a56 @@ -2157,24 +2165,24 @@ trackedFiles: pristine_git_object: 5072c52c5efc145d3be5881926a73aaa0a4e70b9 docs/models/putaddpeopletodepartmentrequest.md: id: e3c4f81cf55d - last_write_checksum: sha1:267cd5c596f3c3fc84709b1afe034bd4544ed1c5 - pristine_git_object: 54d71383ad2155adfddce5a63483013307d8b1eb + last_write_checksum: sha1:8bae36745e7fa17330c5eb3ea93b4f0c036d44df + pristine_git_object: 17caaebe04d7cdec341fb9abdf05d9fe5579ac5d docs/models/putdepartmentsheaderxgustoapiversion.md: id: 8b0db4a6501e last_write_checksum: sha1:a4098b1be740db05c37c42c31ff2f43bffdf898c pristine_git_object: 88a14946bf1a38b973626687ad3e6a7cab8c9c4f docs/models/putdepartmentsrequest.md: id: 244955f78290 - last_write_checksum: sha1:3cd6bbcdb735d83e25edf2dd616fb752018b2654 - pristine_git_object: 7501f43ebe9fceb687822609ecf03bbbfbb21bd3 + last_write_checksum: sha1:8c8c5688a12cadf6e113d16a924b8e0b48065bd1 + pristine_git_object: 1ebd191f5bb89bd8d038ab21d663e3dd2b2c7dea docs/models/putremovepeoplefromdepartmentheaderxgustoapiversion.md: id: c89343ad8eed last_write_checksum: sha1:5017b2637200487e3248959e3ae14c5ba3127488 pristine_git_object: f3557509222d5f5c8367329f74e93705844b1891 docs/models/putremovepeoplefromdepartmentrequest.md: id: 2ad30c52510e - last_write_checksum: sha1:886a29d140b86782cd7d41e10b3fc3037fe34229 - pristine_git_object: 2571a5d6643181f99c02ee11568592156cbe2b26 + last_write_checksum: sha1:abcd00a2d2e7dd74d6605637389c20e1fab2e6ff + pristine_git_object: 180f4dc74287ad8521e8d034705447d8ee0aeb82 docs/models/puttimetrackingtimesheetstimesheetuuidheaderxgustoapiversion.md: id: d9900a1ddd80 last_write_checksum: sha1:a4801b88ab54c3c0617f858e874784fdf39e53d1 @@ -2221,8 +2229,8 @@ trackedFiles: pristine_git_object: 396471510524d7ebc2407a8f12f3fcadad3ae38a docs/models/putv1companiesrequest.md: id: 7e73b41a4deb - last_write_checksum: sha1:dd956c826298bd2e4296f3e41d25098ad230ba65 - pristine_git_object: 3709169b8c2fdcad14ed78ea64f31bf58c93725b + last_write_checksum: sha1:2f8606b2d6176ffbff33bbd4264e66eaf5287633 + pristine_git_object: 36071a7ced564142670b1de8a58364d89dc3bb3d docs/models/putv1companiesrequestbody.md: id: 1bfadbb0d32d last_write_checksum: sha1:4222ea2f130a0246f6942556ebe961abeb4fec04 @@ -2393,8 +2401,8 @@ trackedFiles: pristine_git_object: fed2287898136e181128df8f78c3fc0dfd04ee95 docs/models/putv1verifywebhooksubscriptionuuidrequest.md: id: b9876c77983b - last_write_checksum: sha1:cae9daca8cee50856049ffb88ac0124ce822a845 - pristine_git_object: 3dfb21dd8f59ef5cfc14f8855ea8f0a5290cc3a8 + last_write_checksum: sha1:63cd5ef30f0d226cbb704d86c12aca538d14e451 + pristine_git_object: bb6b3843d07fb8a9a095695d09cd6cd5aecde4a7 docs/models/putv1verifywebhooksubscriptionuuidrequestbody.md: id: fc58d6bba1f7 last_write_checksum: sha1:8b38ba52de1f29a05acf6374cfb095fb353225c8 @@ -2409,8 +2417,8 @@ trackedFiles: pristine_git_object: 4bc04316ad942404c545ab23b630a12a33afc41d docs/models/putv1webhooksubscriptionuuidrequest.md: id: 378e848842b1 - last_write_checksum: sha1:ea05ece718e80dd118d10950ad964fbbabb7087c - pristine_git_object: ef2220124161f91f2fb6994482574896fc4c740d + last_write_checksum: sha1:ff7a74d11699160286278564a410a92caf723bc6 + pristine_git_object: 57f9ab3fc78b66b0b7d700d2cc34f33fe931e16e docs/models/putv1webhooksubscriptionuuidrequestbody.md: id: 7ea35f6c5cb1 last_write_checksum: sha1:bd9069eecfe38f6de3c75940e12607571330682b @@ -2421,16 +2429,16 @@ trackedFiles: pristine_git_object: 6a5e764a3f1c40d28c57e8c9cf3c0804a57ad396 docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md: id: 5fdaf94a9bc6 - last_write_checksum: sha1:eb673f97504f4b813b1436e6035067ed03fba69c - pristine_git_object: f5b49d8489b69953068f4946e4fed32e45d31a70 + last_write_checksum: sha1:d382c3e0e5546843654d24f4d502ad87190d84c1 + pristine_git_object: 266850e61d1d8b65a6d664e1bd3b135697d49927 docs/models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md: id: 479d77c5e139 last_write_checksum: sha1:472cfbdbc364926bd2f96e635c64421b0996396a pristine_git_object: 80221e531be5494a03c3ab69fdf105f057cbae90 docs/models/putv1workaddressesworkaddressuuidrequest.md: id: 44f18d9cdba0 - last_write_checksum: sha1:514b58fe24c6b1e01d4e2f40be25d744e0fdfc24 - pristine_git_object: e25a4a88577368aec3dc2ac1ebb33b3b32e50f90 + last_write_checksum: sha1:761124628560f838017122d9fdb3a0f2aaf68d52 + pristine_git_object: 3553879a6b5b0d9667fe9039ea3cef9bccbca50c docs/models/putv1workaddressesworkaddressuuidrequestbody.md: id: 1e0957075fe6 last_write_checksum: sha1:e1ff25a475b2fabf4bb078ef7aa1e4908aff9f96 @@ -2525,8 +2533,8 @@ trackedFiles: pristine_git_object: aedfd39803dec39a4870f0ee3944dff28a5e4efd docs/models/revokeaccesstokenrequest.md: id: 90da55aca4f1 - last_write_checksum: sha1:ef83ec900774ddb30dffbe65a6ca2e3d16beb8d7 - pristine_git_object: 2e43aae5522740ee7d5e39dad234b823d51b3f22 + last_write_checksum: sha1:0aa00119c30486008e27f1f8968bedf85beba673 + pristine_git_object: 7d2c667f395957ede302402ad9dba7cc620d6269 docs/models/revokeaccesstokenrequestbody.md: id: 9743951cb27a last_write_checksum: sha1:ecdecfa11853cae4b35244458a5918d385a43ad7 @@ -2573,8 +2581,8 @@ trackedFiles: pristine_git_object: 8c4bafc493a47599d7b039fea778e7bf419b9936 docs/models/subscriptiontypes.md: id: deab3aa152dd - last_write_checksum: sha1:3ed86c57352b335e24889476ba126f75294dc34e - pristine_git_object: 31407c3115575946843b014137e3f19dd644bf11 + last_write_checksum: sha1:609ee37c5393845ff20f4852c58f87b09a5db623 + pristine_git_object: fa3880ccefcc33c1c7d21a4c58999c242fefd4a9 docs/models/supportedbenefit.md: id: 10121cd69414 last_write_checksum: sha1:066303e866733f6462d62c4efb8ef5ed2488ab62 @@ -2731,10 +2739,6 @@ trackedFiles: id: 735e09023db8 last_write_checksum: sha1:2768c1e99faaa06debe525d3476b51da605482a2 pristine_git_object: 832a34cec7cdf02debc35c3f77e305219fc36b15 - docs/models/versionheader.md: - id: c8fafc842b14 - last_write_checksum: sha1:d9eea962af9ab07fdfd4699fbddd4b8dd218bd3d - pristine_git_object: 3504d6119e7c6b576a8a4a748efb4dceac7c0ccb docs/models/wagetype.md: id: e58dd2d45e78 last_write_checksum: sha1:72f7a7240bf4925f98cac20b32105ab9e150609b @@ -2773,8 +2777,8 @@ trackedFiles: pristine_git_object: dd253a80118e63eb1712df9bf35a74769fa34827 docs/sdks/companies/README.md: id: 67e8a49afa67 - last_write_checksum: sha1:d2b0f38864eb5ebf677e78f20f918475de020f05 - pristine_git_object: 41c0cd51b573fb6051fc4656fb75394b9c28dd40 + last_write_checksum: sha1:155f1ad7cf464ce2d3d92edd2e005fb346b0cab7 + pristine_git_object: e818d46ef1d52903ac4fec13c4d8d8a4e3ddeaae docs/sdks/companybenefits/README.md: id: 68640bb09ef2 last_write_checksum: sha1:d6c8d74f308e9281121196986c0870287e463675 @@ -2789,8 +2793,8 @@ trackedFiles: pristine_git_object: e744314079983711c41b39049998b8da7ca170b5 docs/sdks/contractors/README.md: id: e5de017cf9e6 - last_write_checksum: sha1:35b918511c2bddf077575abbd8a175edd632b619 - pristine_git_object: 9236141a810e500fce96e199be336224673d084a + last_write_checksum: sha1:ae1af2dd3b64c38f9d1eb1454ee839f9350e96ef + pristine_git_object: fa45e0ba9b02254b67823b97c22d1fff2e5b5a7f docs/sdks/departments/README.md: id: 12342c54f2cb last_write_checksum: sha1:64d55b2304bdfc7f518534d35bb071a6e62218e4 @@ -2813,8 +2817,8 @@ trackedFiles: pristine_git_object: 77a3f92578f44b5fea92f92e30b2927026682024 docs/sdks/employees/README.md: id: 3adbd327ce9d - last_write_checksum: sha1:5a435414d5f32bfd6ce0aee01acf2d4e1a326811 - pristine_git_object: d94a2c660331f1e3db72bb6c4327bbfa24f2c65a + last_write_checksum: sha1:bb6a4c03f1ac3e599d4088c7469ee3a6a8f3ff47 + pristine_git_object: 66e5d438e1af524fb9b0710907015615f89f5a7b docs/sdks/events/README.md: id: cf45a4390b9b last_write_checksum: sha1:e7b169f6471d1d1385e8050b71176b62fc305b67 @@ -2825,8 +2829,8 @@ trackedFiles: pristine_git_object: b11ee6b540f2faf5e5aeef9c6e84a725b6e576a6 docs/sdks/introspection/README.md: id: 9f867af7c1f3 - last_write_checksum: sha1:6745fa8534f1ef8bd8ea466c49e83b23a8717b6e - pristine_git_object: 47b43015b49f32ee6d4cef63a9e2eff32409eb0b + last_write_checksum: sha1:49dc0f812c75aa50ac094094cd8e30ee5b4227f1 + pristine_git_object: 3297460c0570de1a1923524a7b6cf0c56bc31f1a docs/sdks/jobs/README.md: id: 7371cdc8b89a last_write_checksum: sha1:f6b7854ea0cff254e87676f9d4cd53c92354015d @@ -2841,8 +2845,8 @@ trackedFiles: pristine_git_object: afd9b72ba0dd140c725426c39cdf9921f413dba5 docs/sdks/notifications/README.md: id: 271bac956045 - last_write_checksum: sha1:394a1fb15e877049ac69600ef815702aeb92a0fe - pristine_git_object: dbfd1ed5abde12a40cc92b489be3ac27433a2a44 + last_write_checksum: sha1:23d2b9b7fd02253d67480e0d7f79de8087292b8d + pristine_git_object: e781b0b1ded92e8eafd65d6c95b5696b4dfe2f88 docs/sdks/payrolls/README.md: id: f6fb115a2746 last_write_checksum: sha1:be41e74a7b28a28fbad5f0935ba08bd3e31189dc @@ -2893,8 +2897,8 @@ trackedFiles: pristine_git_object: f4af620789217ae70ea020db1c3cf0687bb9b0ae pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:5f0e423b56c417b29bf8779e78829bf1f62d9463 - pristine_git_object: 2ada2153fc9fbd70079416a72ecf70625b06d1aa + last_write_checksum: sha1:a4eda3ef09470dc1d7e9adc183f61d717f495153 + pristine_git_object: 39ed4a3fd175f420ad0cfef8fd8f55e14bd08f09 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:68e5198ed49085966f4e32b9df4bd4610c7ea71f @@ -2921,16 +2925,16 @@ trackedFiles: pristine_git_object: 18fa74cb41cdd8e755fdfd3a0e6c365032ada658 src/gusto_app_integration/_version.py: id: f65810593793 - last_write_checksum: sha1:b97fe03ea6a52ad1b3623c811dbffa6d16a3e969 - pristine_git_object: 39b900888e0293af3870bf03d39fe8c002e6816d + last_write_checksum: sha1:8612eb99328300a6243f45e5f5d078d958fc39ff + pristine_git_object: 238e7c03b6e67a3ff104dcbe97b587cf07d27b19 src/gusto_app_integration/basesdk.py: id: 57192575638e last_write_checksum: sha1:6b0c313a3f231fc5b97458547b9bfc20e1acaac6 pristine_git_object: 493c13174871d97eac98bac84d1ef612f98f9f1e src/gusto_app_integration/companies.py: id: 768c5301056c - last_write_checksum: sha1:11d0e9e11e9b3490c67cc138eab4b93ffb3b659d - pristine_git_object: 026b74d7e755dd7ff9841056f296ffd67851e6e8 + last_write_checksum: sha1:28a8f009bf437738d487443b7de48d97b0783457 + pristine_git_object: bc81ca0591dc249daeb0f15ec10dd665cb0e4901 src/gusto_app_integration/companybenefits.py: id: 5255f6374a8a last_write_checksum: sha1:25254a62e3732386c18dd322ced3667c32302f5f @@ -2945,32 +2949,32 @@ trackedFiles: pristine_git_object: 8215f8142faf4d1252dbaf48aad11b49464cce9c src/gusto_app_integration/contractors.py: id: d29c60177b40 - last_write_checksum: sha1:ed31285574d3bd30e8b786dc12e500269784ab69 - pristine_git_object: 1adb207b975e7182f6ad37194f8fafa7de02bd6e + last_write_checksum: sha1:49f726afdf5b21f7ee9f2c42fb65a004b70fb1ee + pristine_git_object: 2e9055d0a721bde623d42532caae59fd9c1497a6 src/gusto_app_integration/departments.py: id: 9d31c8aea2bc - last_write_checksum: sha1:3e154ad3fe7ed51644d4b5ccdfc582d8c7df8cd2 - pristine_git_object: fc93c9fac53ce4ac70c98c4af464af74ed60e37a + last_write_checksum: sha1:1d5a41ce4f74560a95c676cdbf52466ce03ced4d + pristine_git_object: 60581b338758acc0ae0bb14261d1ebb690cd5261 src/gusto_app_integration/earningtypes.py: id: 148fadfee197 last_write_checksum: sha1:3e31c2b6709a1870ffc9bd1532de474e57628e96 pristine_git_object: 6a5b66a530c96cd09f55365245fdcd7d67003557 src/gusto_app_integration/employeeaddresses.py: id: 225cb92dfd52 - last_write_checksum: sha1:d48e4034dd650dc92518292f9336674837b03531 - pristine_git_object: 0f449dd4c64f10082f1e1ab829d5e509476a65c0 + last_write_checksum: sha1:29c6915bb1c5e126c6984d3a9dcb1d9c27e396b4 + pristine_git_object: 581eee95f6efd85fddb7d9529aed485d244eee6f src/gusto_app_integration/employeebenefits.py: id: 2e92d1dbd7e0 - last_write_checksum: sha1:94ca3ca68d872dc59e29d664530dd2db997e6dc1 - pristine_git_object: bf08deed909afc1863ef7be9d26b0a269d7c9e09 + last_write_checksum: sha1:6b6c51fb8a7bc0ab36f8322a3f3828a40efe64c9 + pristine_git_object: 9a2f68184ffdfbad9e702503226584b288264731 src/gusto_app_integration/employeeemployments.py: id: 4e9ba4d36a41 last_write_checksum: sha1:ccfaf799741f58c52cad94d3da1ede6f9ffa0670 pristine_git_object: ee3edf363850b83d2dab1746634ed4cd389b0085 src/gusto_app_integration/employees.py: id: 61bde935c547 - last_write_checksum: sha1:eb0e0c5fba236dfa85ae9a6368a1675f5390f94d - pristine_git_object: 50a93a6955cb90820556bc5294b57875ca5ecef9 + last_write_checksum: sha1:d4cc05d9c5b1596ccbaf6427773af9e2258c15ce + pristine_git_object: 4d8750db50a4e9b1cef1907cc14341072b82ddac src/gusto_app_integration/events.py: id: 9ae93945fe15 last_write_checksum: sha1:5f19e86103e617f2316423639ad60239207a0582 @@ -2985,8 +2989,8 @@ trackedFiles: pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/gusto_app_integration/introspection.py: id: 3a2decef3dbc - last_write_checksum: sha1:e30cf1709684dde152d8dcbe57aa44e16d71a72e - pristine_git_object: 3ee023a2b46f8a1e9c5521c0140d17f0b3237aca + last_write_checksum: sha1:40dff96de09de0b0f7824dc701433af2f81a662d + pristine_git_object: 9dc4021642987719809b80ec356c1ae5eba06b2c src/gusto_app_integration/jobs.py: id: 52c5f8cfcffc last_write_checksum: sha1:cff096857465b7b4e7aedfba834cd57bd403f13a @@ -2997,12 +3001,12 @@ trackedFiles: pristine_git_object: e559ad7e1d65d5f342a0774e01f17d16a124a550 src/gusto_app_integration/locations.py: id: 120f89d19059 - last_write_checksum: sha1:57596a7b66a66ade75a095f887caeb32eb6fccdb - pristine_git_object: 1014f46184956b6e72143d738413c8a7f6e7086e + last_write_checksum: sha1:9edfc396d58804517733e49d5cacc7245b3cb533 + pristine_git_object: c90498252f07cc59ccb3cb24b4cc12abb3f4c009 src/gusto_app_integration/models/__init__.py: id: 761e9b6abdd8 - last_write_checksum: sha1:a7e53422973aa01c6982ad3826f31642d96d1d19 - pristine_git_object: 90113a10393dad9091c712aa5a7cf81fb95e7eea + last_write_checksum: sha1:cb7278b729f0ddb4fc8af699771626a551fc6e82 + pristine_git_object: b8d03d3c784f1cc0debe64a31b8e2ad28cd58830 src/gusto_app_integration/models/admin.py: id: 48147ace9c47 last_write_checksum: sha1:772e2e455b117766fa7fff771f077e7aad0972c7 @@ -3309,8 +3313,8 @@ trackedFiles: pristine_git_object: 3b3dae3f9923c176a103b08e6fdd3d293e43b9d7 src/gusto_app_integration/models/get_company_notificationsop.py: id: 63fe290f3ba9 - last_write_checksum: sha1:5e57fedd166d55f5d0ac87b6b0c5c22d99aa0b41 - pristine_git_object: 128e5f7f07406d22a606d5e880b45816462c3b75 + last_write_checksum: sha1:79aa88674df08ef9a35822702e9a4eced00ad6d0 + pristine_git_object: b0eec70631d7d6e073d171d7a90cbfbd620810c0 src/gusto_app_integration/models/get_departmentop.py: id: 64c5e1c397d1 last_write_checksum: sha1:df229325c534bf0e81c88498bd1f470956110fe8 @@ -3369,8 +3373,8 @@ trackedFiles: pristine_git_object: 62d8c44251017a6d62b0660def39f1856bd85c5f src/gusto_app_integration/models/get_v1_companies_company_id_contractors_payment_detailsop.py: id: 90ab06f7e8c3 - last_write_checksum: sha1:a4fbb5456b0869ebce0a60b23ac0267c64b49f88 - pristine_git_object: d8069817132fafc88381680f83859109135b9c77 + last_write_checksum: sha1:31b7308ded01ad67838f590f10e054a9551ca322 + pristine_git_object: 02d2c482cd8eadfa010e4b26737f5cbc5cfb416c src/gusto_app_integration/models/get_v1_companies_company_id_custom_fieldsop.py: id: 857bcfe4aeae last_write_checksum: sha1:a7730105ef6af2d9a610df9423f9769712ddfabc @@ -3457,8 +3461,8 @@ trackedFiles: pristine_git_object: 1c74f26127ead812736ea5e6a27969ce1d436002 src/gusto_app_integration/models/get_v1_employees_employee_id_custom_fieldsop.py: id: 5af6335071fe - last_write_checksum: sha1:aaf992e6d07e582b3d48db3caf7a02364d789c66 - pristine_git_object: ff46c41dae14c2197e7ead3cc0982fd36f92d264 + last_write_checksum: sha1:dfb3704fab9578456ebefaa8b4dadc50e1d6b9c4 + pristine_git_object: 0edf20ce021eaae6e587b390da37dc528c408c4f src/gusto_app_integration/models/get_v1_employees_employee_id_employee_benefitsop.py: id: 89cc0003ba16 last_write_checksum: sha1:165cbff82d52dbe5937335af197b24de6fb549d0 @@ -3613,8 +3617,8 @@ trackedFiles: pristine_git_object: 51e31275d967f61b7b865b5eceb5a25344c1db95 src/gusto_app_integration/models/oauth_access_tokenop.py: id: 629c771457f6 - last_write_checksum: sha1:5e988b54cc40a7541ade3a9af5663bf3bdd9c5ee - pristine_git_object: 2e16643c4d722ea0e42e1668b3858ee14b62e193 + last_write_checksum: sha1:3255894026688af454bba87560afe8f747caa27b + pristine_git_object: a87c5dd01ab543584057b7867f2ea56bfd8c021d src/gusto_app_integration/models/paid_time_off.py: id: 4a3979a3b386 last_write_checksum: sha1:fdc19bb9bbc6b755d2bd0d0e94376af3743e39ba @@ -3829,16 +3833,16 @@ trackedFiles: pristine_git_object: a42cbb031e3018fbfbcba20134476aebb8c9cf8a src/gusto_app_integration/models/post_v1_provisionop.py: id: c6b43ae3d03b - last_write_checksum: sha1:37a994f63c8d1177ace4ad58351cb8d2ab99f813 - pristine_git_object: 990cf7d806a06a6afb2ddbb35e71b45581561844 + last_write_checksum: sha1:080df43aac4a9df052270b6f988fd281a06665ce + pristine_git_object: cd317eed293ace000bb3f721c921e900a83f5756 src/gusto_app_integration/models/post_v1_salary_estimates_uuid_acceptop.py: id: 4fe720a2cc54 last_write_checksum: sha1:f5b86456506619d8acb20b6c75f1d833549476f2 pristine_git_object: 5d97c92c759cabe9afe5d44136b2239bc0dcea30 src/gusto_app_integration/models/post_v1_webhook_subscriptionop.py: id: 8065408ee6eb - last_write_checksum: sha1:16c6ba7024e09981e16b46069afcc7033826aefe - pristine_git_object: b946e649c4f11f6161c00e694a319e703f566cc2 + last_write_checksum: sha1:6e52f1d80fce11db2a85957aa0235f5ff580d2fc + pristine_git_object: 1eb6a827328bf2df60be435a7649dc7351ae200a src/gusto_app_integration/models/provision_create_request_body.py: id: 6516beeebcbc last_write_checksum: sha1:af920db788ba9be68bf6e4dc141dfc492ae9ef6a @@ -3945,8 +3949,8 @@ trackedFiles: pristine_git_object: f9534570f5f38142371b6118e6949d251c1fd655 src/gusto_app_integration/models/put_v1_webhook_subscription_uuidop.py: id: ce20f080cb03 - last_write_checksum: sha1:db01a2efe5f255846e885e7925a699d71620b0c1 - pristine_git_object: f5d22dedf625af6fc8d1a7914c071564e9579ae8 + last_write_checksum: sha1:7483165be6939a395a8be747a843da54d9b19cfb + pristine_git_object: 496980a726dc55a78b38bb6c9c941c38ca49ba2a src/gusto_app_integration/models/put_v1_work_addresses_work_address_uuidop.py: id: 091538a0eec4 last_write_checksum: sha1:77c2337ca33421efecffbe079b90c8f180f6ff18 @@ -3981,8 +3985,8 @@ trackedFiles: pristine_git_object: 6a6b2012d91f4d7b7910fd9f14b9f430e7ab4067 src/gusto_app_integration/models/revoke_access_tokenop.py: id: 0c1318b2f0c4 - last_write_checksum: sha1:535170f102b3f834651e43c9c4aa00be79d53822 - pristine_git_object: 8d1de1d31ac022caeaeaf0a96d76243c207236b1 + last_write_checksum: sha1:f0d4e93e2fae0dc0ce418e86b177072f73f4ec9c + pristine_git_object: f468d967c4730c992d8ab66192919e22a982be3d src/gusto_app_integration/models/salary_estimate.py: id: e8322fedd516 last_write_checksum: sha1:c1950cd786e7420a172a3cc2a3b7de72087935f7 @@ -4043,14 +4047,10 @@ trackedFiles: id: 446c99ff3186 last_write_checksum: sha1:8b62c8d51bfe7a82bedb3088903fb3253903c6b1 pristine_git_object: a9c8e9c39a41c1717a3b03494566464582e5cfbf - src/gusto_app_integration/models/versionheader.py: - id: 7b554e61e2f8 - last_write_checksum: sha1:8d017ddb4fff56795b72d1404dcc2e7625d5967d - pristine_git_object: 9a6675ebfe24a1dc81c45817ac3f5f66125d4788 src/gusto_app_integration/models/webhook_subscription.py: id: b76f92159976 - last_write_checksum: sha1:fe633784b07891e776ac7e103ebecd674d2bc06b - pristine_git_object: 65d00dac36c7be1ee250d5322c134251e01dcf69 + last_write_checksum: sha1:950c6c3561f77624a760a483cd44dafcef7bafed + pristine_git_object: c6f27a8e1dd533a064a2e0b0cc6117fc2ebb4f98 src/gusto_app_integration/models/webhook_verification_token_response.py: id: 4ad0aaefd949 last_write_checksum: sha1:455a20020d83d7822e18adb73a9045d31cca4942 @@ -4069,12 +4069,12 @@ trackedFiles: pristine_git_object: 637260c5fef155dafe1e1d435ac03be80154ac1b src/gusto_app_integration/notifications.py: id: f5fa7d08349d - last_write_checksum: sha1:a149bdc543cdbf29e11324cab964cd6d4ddaf424 - pristine_git_object: 25ec99215a08fe91a6b4397ac360d02d459194e0 + last_write_checksum: sha1:cbfc0af4cdbbfa3a014db51b353cb905ca2e8305 + pristine_git_object: 6ec3d987b21e562e256cd225e575250a57a24c73 src/gusto_app_integration/payrolls.py: id: 7cc8346e6321 - last_write_checksum: sha1:73ee147d2353b528b945b6d94287e6b48e5d6c27 - pristine_git_object: fb571db7c647a5dfdeec6c369bb6ecd24ea1a639 + last_write_checksum: sha1:2bf93ef328791c65b327a72720dd82416c5d7e42 + pristine_git_object: 11964f1a6925bb87875a0e756e8bd095c4083cc1 src/gusto_app_integration/payschedules.py: id: dd4e82dafdd0 last_write_checksum: sha1:0ae44518dba3d7d36382aa8de3cb3efa29350e57 @@ -4201,8 +4201,8 @@ trackedFiles: pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3 src/gusto_app_integration/webhooks.py: id: 307896aea792 - last_write_checksum: sha1:49a56fe35c28737ec269d5c393ede570ecf979ed - pristine_git_object: 940c9dc2e82c57eba62bf4c88b3029b2df7526b4 + last_write_checksum: sha1:da0c0c608541dc68ffdbacda364cafcbc578c677 + pristine_git_object: 1adac8c46ae4559941270fd60a4c5ebeaa0edc1c examples: get-v1-token-info: speakeasy-default-get-v1-token-info: @@ -6040,7 +6040,7 @@ examples: application/json: {"errors": [{"error_key": "", "category": ""}]} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes:\n* `gusto_app_integration.webhooks.verify()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.payrolls.get_for_company()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.time_tracking.delete_time_tracking_time_sheets_time_sheet_uuid()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.time_tracking.put_time_tracking_time_sheets_time_sheet_uuid()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.synced_to_payroll_at` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.time_tracking.get_time_tracking_time_sheets_time_sheet_uuid()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.synced_to_payroll_at` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.time_tracking.post_companies_company_uuid_time_tracking_time_sheets()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.synced_to_payroll_at` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.time_tracking.get_companies_company_uuid_time_tracking_time_sheets()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[].synced_to_payroll_at` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.events.get_all()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[422]` **Added**\n* `gusto_app_integration.garnishments.get_child_support()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto_app_integration.garnishments.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.garnishments.get_by_id()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.garnishments.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.garnishments.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_benefits.create_ytd_benefit_amounts_from_different_company()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_benefits.get_ytd_benefit_amounts_from_different_company()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_benefits.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.employee_benefits.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_benefits.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_benefits.get_all()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_benefits.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.get_requirements()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.bulk_update_employee_benefits()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.get_employee_benefits()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.get_summary()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employees` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.writable_by_application` **Added**\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto_app_integration.company_benefits.list_supported()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].writable_by_application` **Added**\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto_app_integration.company_benefits.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.company_benefits.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.catch_up_type` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.get_by_id()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[].catch_up_type` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.company_benefits.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.catch_up_type` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.contractor_payments.get_by_id()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.contractor_payments.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.time_off_policies.calculate_accruing_time_off_hours()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.payrolls.prepare()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.payrolls.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.payrolls.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.webhooks.request_verification_token()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.status[200]` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.webhooks.delete_subscription()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.introspection.get_token_info()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n* `gusto_app_integration.introspection.revoke()`: `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.introspection.disconnect_app_integration()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.companies.provision()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[401]` **Removed** (Breaking ⚠️)\n* `gusto_app_integration.companies.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.companies.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.companies.get_admins()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].phone` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.companies.get_custom_fields()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.custom_fields[].description` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.locations.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.locations.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employee_employments.update_termination()`: \n * `request` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.locations.get_minimum_wages()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.company_locations.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.pay_schedules.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.pay_schedules.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.pay_schedules.get_pay_periods()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.pay_schedules.get_unprocessed_termination_pay_periods()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.pay_schedules.get_assignments()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employees[].pay_schedule_uuid` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employees.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employees.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employees.get_by_id()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employees.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employees.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.employees.get_custom_fields()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.custom_fields[].description` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employees.get_time_off_activities()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.employee_employments.create_termination()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.departments.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.departments.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.departments.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.departments.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.departments.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.departments.add_people()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.departments.remove_people()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.employees.get_terminations()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_employments.delete_termination()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.locations.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employee_employments.create_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_employments.update_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employee_employments.get_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.status[204]` **Added** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employee_employments.delete_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employee_employments.get_history()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].termination_date` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto_app_integration.employee_addresses.list_home_addresses()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.delete_home_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.get_work_addresses()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.create_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.get_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.update_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.employee_addresses.delete_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.jobs.create_compensation()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.title` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.jobs_and_compensations.get_compensations_for_job()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].title` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.jobs_and_compensations.get_compensation()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.title` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.jobs_and_compensations.update_compensation()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.title` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.jobs_and_compensations.delete_compensation()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.earning_types.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.active` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.earning_types.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.default[].active` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.earning_types.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.active` **Added**\n * `error.status[404]` **Added**\n* `gusto_app_integration.earning_types.deactivate()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.contractors.create()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.contractors.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.contractors.get_by_id()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.contractors.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto_app_integration.webhooks.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto_app_integration.webhooks.list_subscriptions()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto_app_integration.webhooks.update_subscription()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.webhooks.get_subscription()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto_app_integration.reimbursements.get_v1_recurring_reimbursements()`: **Added**\n* `gusto_app_integration.salary_estimates.get_v1_salary_estimates_occupations()`: **Added**\n* `gusto_app_integration.contractor_payment_groups.preview()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.employee_employments.get_v1_terminations_employee_id()`: **Added**\n* `gusto_app_integration.contractor_payment_groups.get()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.jobs_and_compensations.delete()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.jobs_and_compensations.update_job()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.jobs_and_compensations.get()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.jobs_and_compensations.get_jobs()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.jobs.create()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.introspection.refresh_access_token()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.reimbursements.delete_v1_recurring_reimbursements()`: **Added**\n* `gusto_app_integration.reimbursements.put_v1_recurring_reimbursements()`: **Added**\n* `gusto_app_integration.salary_estimates.put_v1_salary_estimates_id()`: **Added**\n* `gusto_app_integration.reimbursements.post_v1_employees_employee_id_recurring_reimbursements()`: **Added**\n* `gusto_app_integration.reimbursements.get_v1_employees_employee_id_recurring_reimbursements()`: **Added**\n* `gusto_app_integration.time_tracking.post_companies_company_uuid_time_tracking_payroll_syncs()`: **Added**\n* `gusto_app_integration.contractor_payment_groups.fetch()`: **Removed** (Breaking ⚠️)\n* `gusto_app_integration.introspection.oauth_access_token()`: **Added**\n* `gusto_app_integration.salary_estimates.post_v1_salary_estimates_uuid_accept()`: **Added**\n* `gusto_app_integration.time_tracking.get_time_tracking_payroll_syncs_payroll_sync_uuid()`: **Added**\n* `gusto_app_integration.time_off_requests.get_v1_companies_company_id_time_off_requests()`: **Added**\n* `gusto_app_integration.notifications.get_company_notifications()`: **Added**\n* `gusto_app_integration.salary_estimates.post_v1_employees_employee_id_salary_estimates()`: **Added**\n* `gusto_app_integration.salary_estimates.get_v1_salary_estimates_id()`: **Added**\n* `gusto_app_integration.employee_benefits.patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_year()`: **Added**\n* `gusto_app_integration.employee_benefits.get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_year()`: **Added**\n* `gusto_app_integration.employee_benefits.post_v1_employees_employee_uuid_section603_high_earner_statuses()`: **Added**\n* `gusto_app_integration.employee_benefits.get_v1_employees_employee_uuid_section603_high_earner_statuses()`: **Added**\n* `gusto_app_integration.company_benefits.put_v1_company_benefits_company_benefit_id_contribution_exclusions()`: **Added**\n* `gusto_app_integration.company_benefits.get_v1_company_benefits_company_benefit_id_contribution_exclusions()`: **Added**\n* `gusto_app_integration.reports.post_v1_companies_company_id_reports_employees_annual_fica_wage()`: **Added**\n* `gusto_app_integration.reports.get_reports_request_uuid()`: **Added**\n* `gusto_app_integration.reports.post_payrolls_payroll_uuid_reports_general_ledger()`: **Added**\n* `gusto_app_integration.time_off_policies.put_v1_time_off_policies_time_off_policy_uuid_add_employees()`: **Added**\n* `gusto_app_integration.time_off_policies.get_v1_companies_company_uuid_time_off_policies()`: **Added**\n* `gusto_app_integration.time_off_policies.get_v1_time_off_policies_time_off_policy_uuid()`: **Added**\n* `gusto_app_integration.webhooks.get_v1_webhooks_health_check()`: **Added**\n* `gusto_app_integration.contractors.get_v1_companies_company_id_contractors_payment_details()`: **Added**\n" +releaseNotes: "## Python SDK Changes:\n* `gusto_app_integration.webhooks.list_subscriptions()`: `response.[].subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto_app_integration.webhooks.create()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto_app_integration.webhooks.get_subscription()`: `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto_app_integration.webhooks.update_subscription()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto_app_integration.webhooks.verify()`: `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto_app_integration.introspection.revoke()`: `request.x_gusto_api_version` **Changed**\n* `gusto_app_integration.companies.provision()`: `request.x_gusto_api_version` **Changed**\n" generatedFiles: - .gitattributes - .python-version diff --git a/gusto_app_int/.speakeasy/gen.yaml b/gusto_app_int/.speakeasy/gen.yaml index 3230106f..267b3b6b 100644 --- a/gusto_app_int/.speakeasy/gen.yaml +++ b/gusto_app_int/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.4.0 + version: 0.4.1 additionalDependencies: dev: {} main: {} @@ -81,6 +81,7 @@ python: preApplyUnionDiscriminators: false pytestFilterWarnings: [] pytestTimeout: 0 + rawResponseHelpers: false responseFormat: flat sseFlatResponse: false templateVersion: v2 diff --git a/gusto_app_int/docs/models/deletedepartmentrequest.md b/gusto_app_int/docs/models/deletedepartmentrequest.md index fa5403d9..5e11e97f 100644 --- a/gusto_app_int/docs/models/deletedepartmentrequest.md +++ b/gusto_app_int/docs/models/deletedepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_app_int/docs/models/deletev1webhooksubscriptionuuidrequest.md b/gusto_app_int/docs/models/deletev1webhooksubscriptionuuidrequest.md index b44156c9..3b1cbfd9 100644 --- a/gusto_app_int/docs/models/deletev1webhooksubscriptionuuidrequest.md +++ b/gusto_app_int/docs/models/deletev1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_app_int/docs/models/deletev1workaddressesworkaddressuuidrequest.md b/gusto_app_int/docs/models/deletev1workaddressesworkaddressuuidrequest.md index e21c51ef..103375b8 100644 --- a/gusto_app_int/docs/models/deletev1workaddressesworkaddressuuidrequest.md +++ b/gusto_app_int/docs/models/deletev1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getcompaniesdepartmentsrequest.md b/gusto_app_int/docs/models/getcompaniesdepartmentsrequest.md index 0ec638e3..d598309d 100644 --- a/gusto_app_int/docs/models/getcompaniesdepartmentsrequest.md +++ b/gusto_app_int/docs/models/getcompaniesdepartmentsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getcompanynotificationsrequest.md b/gusto_app_int/docs/models/getcompanynotificationsrequest.md index 404d7840..cf42bcf3 100644 --- a/gusto_app_int/docs/models/getcompanynotificationsrequest.md +++ b/gusto_app_int/docs/models/getcompanynotificationsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | | `status` | [Optional[models.GetCompanyNotificationsQueryParamStatus]](../models/getcompanynotificationsqueryparamstatus.md) | :heavy_minus_sign: | N/A | -| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getdepartmentrequest.md b/gusto_app_int/docs/models/getdepartmentrequest.md index 8db1cf92..23a6159c 100644 --- a/gusto_app_int/docs/models/getdepartmentrequest.md +++ b/gusto_app_int/docs/models/getdepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md b/gusto_app_int/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md index 0d986047..3e6b39b9 100644 --- a/gusto_app_int/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md +++ b/gusto_app_int/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | -| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md b/gusto_app_int/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md index 437f96d4..bc90ad86 100644 --- a/gusto_app_int/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md +++ b/gusto_app_int/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `include` | List[[models.GetV1CompaniesCompanyIDPayrollsPayrollIDQueryParamInclude](../models/getv1companiescompanyidpayrollspayrollidqueryparaminclude.md)] | :heavy_minus_sign: | Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` | | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | diff --git a/gusto_app_int/docs/models/getv1companiescompanyidpayrollsrequest.md b/gusto_app_int/docs/models/getv1companiescompanyidpayrollsrequest.md index 7b26f6d6..4d1db6dd 100644 --- a/gusto_app_int/docs/models/getv1companiescompanyidpayrollsrequest.md +++ b/gusto_app_int/docs/models/getv1companiescompanyidpayrollsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `processing_statuses` | List[[models.ProcessingStatuses](../models/processingstatuses.md)] | :heavy_minus_sign: | Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` | | | `payroll_types` | List[[models.QueryParamPayrollTypes](../models/queryparampayrolltypes.md)] | :heavy_minus_sign: | Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` | | | `processed` | *Optional[bool]* | :heavy_minus_sign: | Whether to return processed or unprocessed payrolls | | diff --git a/gusto_app_int/docs/models/getv1companiesrequest.md b/gusto_app_int/docs/models/getv1companiesrequest.md index ddf4598f..4a4c0132 100644 --- a/gusto_app_int/docs/models/getv1companiesrequest.md +++ b/gusto_app_int/docs/models/getv1companiesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1employeesemployeeidcustomfieldsrequest.md b/gusto_app_int/docs/models/getv1employeesemployeeidcustomfieldsrequest.md index ad3665fe..dd48aea7 100644 --- a/gusto_app_int/docs/models/getv1employeesemployeeidcustomfieldsrequest.md +++ b/gusto_app_int/docs/models/getv1employeesemployeeidcustomfieldsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1employeesemployeeidhomeaddressesrequest.md b/gusto_app_int/docs/models/getv1employeesemployeeidhomeaddressesrequest.md index 25bcddc3..50cef7ab 100644 --- a/gusto_app_int/docs/models/getv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_app_int/docs/models/getv1employeesemployeeidhomeaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1employeesemployeeidworkaddressesrequest.md b/gusto_app_int/docs/models/getv1employeesemployeeidworkaddressesrequest.md index 00b143d5..93254bf5 100644 --- a/gusto_app_int/docs/models/getv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_app_int/docs/models/getv1employeesemployeeidworkaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index 098f64ea..2d27a7de 100644 --- a/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md index de8d6594..743bef62 100644 --- a/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_app_int/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1homeaddresseshomeaddressuuidrequest.md b/gusto_app_int/docs/models/getv1homeaddresseshomeaddressuuidrequest.md index 654451d4..fd27eac5 100644 --- a/gusto_app_int/docs/models/getv1homeaddresseshomeaddressuuidrequest.md +++ b/gusto_app_int/docs/models/getv1homeaddresseshomeaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | -| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1locationslocationuuidminimumwagesrequest.md b/gusto_app_int/docs/models/getv1locationslocationuuidminimumwagesrequest.md index 12dc5397..7b94700f 100644 --- a/gusto_app_int/docs/models/getv1locationslocationuuidminimumwagesrequest.md +++ b/gusto_app_int/docs/models/getv1locationslocationuuidminimumwagesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `x_gusto_api_version` | [Optional[models.GetV1LocationsLocationUUIDMinimumWagesHeaderXGustoAPIVersion]](../models/getv1locationslocationuuidminimumwagesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `effective_date` | *Optional[str]* | :heavy_minus_sign: | N/A | 2020-01-31 | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1webhooksubscriptionuuidrequest.md b/gusto_app_int/docs/models/getv1webhooksubscriptionuuidrequest.md index 1668e8ab..227e3d31 100644 --- a/gusto_app_int/docs/models/getv1webhooksubscriptionuuidrequest.md +++ b/gusto_app_int/docs/models/getv1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md b/gusto_app_int/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md index 9f8ff4ca..4fabc561 100644 --- a/gusto_app_int/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md +++ b/gusto_app_int/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_app_int/docs/models/getv1workaddressesworkaddressuuidrequest.md b/gusto_app_int/docs/models/getv1workaddressesworkaddressuuidrequest.md index 7888f203..93b1aabd 100644 --- a/gusto_app_int/docs/models/getv1workaddressesworkaddressuuidrequest.md +++ b/gusto_app_int/docs/models/getv1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_app_int/docs/models/oauthaccesstokenheaderxgustoapiversion.md b/gusto_app_int/docs/models/oauthaccesstokenheaderxgustoapiversion.md new file mode 100644 index 00000000..bee2512d --- /dev/null +++ b/gusto_app_int/docs/models/oauthaccesstokenheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# OauthAccessTokenHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_app_integration.models import OauthAccessTokenHeaderXGustoAPIVersion + +value = OauthAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ------------------------------------------------ | ------------------------------------------------ | +| `TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15` | 2025-06-15 | \ No newline at end of file diff --git a/gusto_app_int/docs/models/oauthaccesstokenrequest.md b/gusto_app_int/docs/models/oauthaccesstokenrequest.md index 6bc2108a..a3b01ce6 100644 --- a/gusto_app_int/docs/models/oauthaccesstokenrequest.md +++ b/gusto_app_int/docs/models/oauthaccesstokenrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `x_gusto_api_version` | [Optional[models.HeaderXGustoAPIVersion]](../models/headerxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.OauthAccessTokenHeaderXGustoAPIVersion]](../models/oauthaccesstokenheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `request_body` | [models.OauthAccessTokenRequestBody](../models/oauthaccesstokenrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_app_int/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index 89e2ff87..0347af6b 100644 --- a/gusto_app_int/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_app_int/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_section603_high_earner_status_update_request` | [models.EmployeeSection603HighEarnerStatusUpdateRequest](../models/employeesection603highearnerstatusupdaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postdepartmentsrequest.md b/gusto_app_int/docs/models/postdepartmentsrequest.md index a050d19c..b969b425 100644 --- a/gusto_app_int/docs/models/postdepartmentsrequest.md +++ b/gusto_app_int/docs/models/postdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostDepartmentsHeaderXGustoAPIVersion]](../models/postdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `department_create_request_body` | [models.DepartmentCreateRequestBody](../models/departmentcreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postv1employeesemployeeidhomeaddressesrequest.md b/gusto_app_int/docs/models/postv1employeesemployeeidhomeaddressesrequest.md index ac3e4b62..1ae15ad1 100644 --- a/gusto_app_int/docs/models/postv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_app_int/docs/models/postv1employeesemployeeidhomeaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `request_body` | [models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody](../models/postv1employeesemployeeidhomeaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postv1employeesemployeeidworkaddressesrequest.md b/gusto_app_int/docs/models/postv1employeesemployeeidworkaddressesrequest.md index e7464da0..d976074f 100644 --- a/gusto_app_int/docs/models/postv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_app_int/docs/models/postv1employeesemployeeidworkaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `request_body` | [models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody](../models/postv1employeesemployeeidworkaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_app_int/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md index bade223a..14d3fb7b 100644 --- a/gusto_app_int/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_app_int/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `employee_section603_high_earner_status_create_request` | [models.EmployeeSection603HighEarnerStatusCreateRequest](../models/employeesection603highearnerstatuscreaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postv1provisionheaderxgustoapiversion.md b/gusto_app_int/docs/models/postv1provisionheaderxgustoapiversion.md new file mode 100644 index 00000000..42d6d6a8 --- /dev/null +++ b/gusto_app_int/docs/models/postv1provisionheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# PostV1ProvisionHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_app_integration.models import PostV1ProvisionHeaderXGustoAPIVersion + +value = PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ------------------------------------------------ | ------------------------------------------------ | +| `TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15` | 2025-06-15 | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postv1provisionrequest.md b/gusto_app_int/docs/models/postv1provisionrequest.md index 1423b3a1..3659c00f 100644 --- a/gusto_app_int/docs/models/postv1provisionrequest.md +++ b/gusto_app_int/docs/models/postv1provisionrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.PostV1ProvisionHeaderXGustoAPIVersion]](../models/postv1provisionheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `provision_create_request_body` | [models.ProvisionCreateRequestBody](../models/provisioncreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/postv1webhooksubscriptionsubscriptiontypes.md b/gusto_app_int/docs/models/postv1webhooksubscriptionsubscriptiontypes.md index c189ad8f..5d1f32cb 100644 --- a/gusto_app_int/docs/models/postv1webhooksubscriptionsubscriptiontypes.md +++ b/gusto_app_int/docs/models/postv1webhooksubscriptionsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PostV1WebhookSubscriptionSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putaddpeopletodepartmentrequest.md b/gusto_app_int/docs/models/putaddpeopletodepartmentrequest.md index 54d71383..17caaebe 100644 --- a/gusto_app_int/docs/models/putaddpeopletodepartmentrequest.md +++ b/gusto_app_int/docs/models/putaddpeopletodepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutAddPeopleToDepartmentHeaderXGustoAPIVersion]](../models/putaddpeopletodepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `department_people_request_body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putdepartmentsrequest.md b/gusto_app_int/docs/models/putdepartmentsrequest.md index 7501f43e..1ebd191f 100644 --- a/gusto_app_int/docs/models/putdepartmentsrequest.md +++ b/gusto_app_int/docs/models/putdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutDepartmentsHeaderXGustoAPIVersion]](../models/putdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `department_update_request_body` | [models.DepartmentUpdateRequestBody](../models/departmentupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putremovepeoplefromdepartmentrequest.md b/gusto_app_int/docs/models/putremovepeoplefromdepartmentrequest.md index 2571a5d6..180f4dc7 100644 --- a/gusto_app_int/docs/models/putremovepeoplefromdepartmentrequest.md +++ b/gusto_app_int/docs/models/putremovepeoplefromdepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutRemovePeopleFromDepartmentHeaderXGustoAPIVersion]](../models/putremovepeoplefromdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `department_people_request_body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putv1companiesrequest.md b/gusto_app_int/docs/models/putv1companiesrequest.md index 3709169b..36071a7c 100644 --- a/gusto_app_int/docs/models/putv1companiesrequest.md +++ b/gusto_app_int/docs/models/putv1companiesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1CompaniesHeaderXGustoAPIVersion]](../models/putv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `request_body` | [models.PutV1CompaniesRequestBody](../models/putv1companiesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putv1verifywebhooksubscriptionuuidrequest.md b/gusto_app_int/docs/models/putv1verifywebhooksubscriptionuuidrequest.md index 3dfb21dd..bb6b3843 100644 --- a/gusto_app_int/docs/models/putv1verifywebhooksubscriptionuuidrequest.md +++ b/gusto_app_int/docs/models/putv1verifywebhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1VerifyWebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1verifywebhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `request_body` | [models.PutV1VerifyWebhookSubscriptionUUIDRequestBody](../models/putv1verifywebhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putv1webhooksubscriptionuuidrequest.md b/gusto_app_int/docs/models/putv1webhooksubscriptionuuidrequest.md index ef222012..57f9ab3f 100644 --- a/gusto_app_int/docs/models/putv1webhooksubscriptionuuidrequest.md +++ b/gusto_app_int/docs/models/putv1webhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `request_body` | [models.PutV1WebhookSubscriptionUUIDRequestBody](../models/putv1webhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md b/gusto_app_int/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md index f5b49d84..266850e6 100644 --- a/gusto_app_int/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md +++ b/gusto_app_int/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PutV1WebhookSubscriptionUUIDSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_app_int/docs/models/putv1workaddressesworkaddressuuidrequest.md b/gusto_app_int/docs/models/putv1workaddressesworkaddressuuidrequest.md index e25a4a88..3553879a 100644 --- a/gusto_app_int/docs/models/putv1workaddressesworkaddressuuidrequest.md +++ b/gusto_app_int/docs/models/putv1workaddressesworkaddressuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `x_gusto_api_version` | [Optional[models.PutV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `request_body` | [models.PutV1WorkAddressesWorkAddressUUIDRequestBody](../models/putv1workaddressesworkaddressuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/revokeaccesstokenrequest.md b/gusto_app_int/docs/models/revokeaccesstokenrequest.md index 2e43aae5..7d2c667f 100644 --- a/gusto_app_int/docs/models/revokeaccesstokenrequest.md +++ b/gusto_app_int/docs/models/revokeaccesstokenrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.HeaderXGustoAPIVersion]](../models/headerxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `request_body` | [models.RevokeAccessTokenRequestBody](../models/revokeaccesstokenrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int/docs/models/subscriptiontypes.md b/gusto_app_int/docs/models/subscriptiontypes.md index 31407c31..fa3880cc 100644 --- a/gusto_app_int/docs/models/subscriptiontypes.md +++ b/gusto_app_int/docs/models/subscriptiontypes.md @@ -28,4 +28,5 @@ value = SubscriptionTypes.BANK_ACCOUNT | `PAYROLL` | Payroll | | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_app_int/docs/models/versionheader.md b/gusto_app_int/docs/models/versionheader.md deleted file mode 100644 index 3504d611..00000000 --- a/gusto_app_int/docs/models/versionheader.md +++ /dev/null @@ -1,16 +0,0 @@ -# VersionHeader - -## Example Usage - -```python -from gusto_app_integration.models import VersionHeader - -value = VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 -``` - - -## Values - -| Name | Value | -| ------------------------------------------------ | ------------------------------------------------ | -| `TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15` | 2025-06-15 | \ No newline at end of file diff --git a/gusto_app_int/docs/sdks/companies/README.md b/gusto_app_int/docs/sdks/companies/README.md index 41c0cd51..e818d46e 100644 --- a/gusto_app_int/docs/sdks/companies/README.md +++ b/gusto_app_int/docs/sdks/companies/README.md @@ -48,7 +48,7 @@ with GustoAppIntegration() as gai_client: "email": "Fred_Durgan@yahoo.com", }, company={ "name": "", - }, x_gusto_api_version=gusto_app_integration.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + }, x_gusto_api_version=gusto_app_integration.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) # Handle response print(res) @@ -62,7 +62,7 @@ with GustoAppIntegration() as gai_client: | `security` | [models.PostV1ProvisionSecurity](../../models/postv1provisionsecurity.md) | :heavy_check_mark: | N/A | | `user` | [models.User](../../models/user.md) | :heavy_check_mark: | Information for the user who will be the primary payroll administrator for the new company. | | `company` | [models.ProvisionCreateRequestBodyCompany](../../models/provisioncreaterequestbodycompany.md) | :heavy_check_mark: | N/A | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.PostV1ProvisionHeaderXGustoAPIVersion]](../../models/postv1provisionheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int/docs/sdks/contractors/README.md b/gusto_app_int/docs/sdks/contractors/README.md index 9236141a..fa45e0ba 100644 --- a/gusto_app_int/docs/sdks/contractors/README.md +++ b/gusto_app_int/docs/sdks/contractors/README.md @@ -287,9 +287,9 @@ with GustoAppIntegration( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | | `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int/docs/sdks/employees/README.md b/gusto_app_int/docs/sdks/employees/README.md index d94a2c66..66e5d438 100644 --- a/gusto_app_int/docs/sdks/employees/README.md +++ b/gusto_app_int/docs/sdks/employees/README.md @@ -299,9 +299,9 @@ with GustoAppIntegration( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int/docs/sdks/introspection/README.md b/gusto_app_int/docs/sdks/introspection/README.md index 47b43015..3297460c 100644 --- a/gusto_app_int/docs/sdks/introspection/README.md +++ b/gusto_app_int/docs/sdks/introspection/README.md @@ -65,7 +65,7 @@ from gusto_app_integration import GustoAppIntegration with GustoAppIntegration() as gai_client: - gai_client.introspection.revoke(client_id="", client_secret="", token="", x_gusto_api_version=gusto_app_integration.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + gai_client.introspection.revoke(client_id="", client_secret="", token="", x_gusto_api_version=gusto_app_integration.HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) # Use the SDK ... @@ -78,7 +78,7 @@ with GustoAppIntegration() as gai_client: | `client_id` | *str* | :heavy_check_mark: | Your client id | | `client_secret` | *str* | :heavy_check_mark: | Your client secret | | `token` | *str* | :heavy_check_mark: | The access token that will be revoked. | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.HeaderXGustoAPIVersion]](../../models/headerxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Errors @@ -105,7 +105,7 @@ with GustoAppIntegration() as gai_client: "client_id": "qr6L_9FRkbMVL_GdwvrMW6Ef8tcU6NUxjWpOfqXqOG8", "client_secret": "3aQSHRB3596nZhm6NdNBELZ1u9xbZmvCrKpBhbZYq6w", "grant_type": gusto_app_integration.RequestBodyGrantType.SYSTEM_ACCESS, - }, x_gusto_api_version=gusto_app_integration.HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + }, x_gusto_api_version=gusto_app_integration.OauthAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) # Handle response print(res) @@ -117,7 +117,7 @@ with GustoAppIntegration() as gai_client: | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `request_body` | [models.OauthAccessTokenRequestBody](../../models/oauthaccesstokenrequestbody.md) | :heavy_check_mark: | N/A | -| `x_gusto_api_version` | [Optional[models.HeaderXGustoAPIVersion]](../../models/headerxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.OauthAccessTokenHeaderXGustoAPIVersion]](../../models/oauthaccesstokenheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int/docs/sdks/notifications/README.md b/gusto_app_int/docs/sdks/notifications/README.md index dbfd1ed5..e781b0b1 100644 --- a/gusto_app_int/docs/sdks/notifications/README.md +++ b/gusto_app_int/docs/sdks/notifications/README.md @@ -36,8 +36,8 @@ with GustoAppIntegration( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | -| `status` | [Optional[models.GetCompanyNotificationsQueryParamStatus]](../../models/getcompanynotificationsqueryparamstatus.md) | :heavy_minus_sign: | N/A | | `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `status` | [Optional[models.GetCompanyNotificationsQueryParamStatus]](../../models/getcompanynotificationsqueryparamstatus.md) | :heavy_minus_sign: | N/A | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | diff --git a/gusto_app_int/pyproject.toml b/gusto_app_int/pyproject.toml index 2ada2153..39ed4a3f 100644 --- a/gusto_app_int/pyproject.toml +++ b/gusto_app_int/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "gusto_app_integration" -version = "0.4.0" +version = "0.4.1" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/gusto_app_int/src/gusto_app_integration/_version.py b/gusto_app_int/src/gusto_app_integration/_version.py index 39b90088..238e7c03 100644 --- a/gusto_app_int/src/gusto_app_integration/_version.py +++ b/gusto_app_int/src/gusto_app_integration/_version.py @@ -3,11 +3,11 @@ import importlib.metadata __title__: str = "gusto_app_integration" -__version__: str = "0.4.0" +__version__: str = "0.4.1" __openapi_doc_version__: str = "2025-06-15" -__gen_version__: str = "2.892.1" +__gen_version__: str = "2.893.0" __user_agent__: str = ( - "speakeasy-sdk/python 0.4.0 2.892.1 2025-06-15 gusto_app_integration" + "speakeasy-sdk/python 0.4.1 2.893.0 2025-06-15 gusto_app_integration" ) try: diff --git a/gusto_app_int/src/gusto_app_integration/companies.py b/gusto_app_int/src/gusto_app_integration/companies.py index 026b74d7..bc81ca05 100644 --- a/gusto_app_int/src/gusto_app_integration/companies.py +++ b/gusto_app_int/src/gusto_app_integration/companies.py @@ -21,8 +21,8 @@ def provision( models.ProvisionCreateRequestBodyCompanyTypedDict, ], x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.PostV1ProvisionHeaderXGustoAPIVersion + ] = models.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -151,8 +151,8 @@ async def provision_async( models.ProvisionCreateRequestBodyCompanyTypedDict, ], x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.PostV1ProvisionHeaderXGustoAPIVersion + ] = models.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -311,8 +311,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -413,8 +413,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -513,8 +513,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, request_body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -628,8 +628,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, request_body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), diff --git a/gusto_app_int/src/gusto_app_integration/contractors.py b/gusto_app_int/src/gusto_app_integration/contractors.py index 1adb207b..2e9055d0 100644 --- a/gusto_app_int/src/gusto_app_integration/contractors.py +++ b/gusto_app_int/src/gusto_app_integration/contractors.py @@ -1171,11 +1171,11 @@ def get_v1_companies_company_id_contractors_payment_details( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1214,9 +1214,9 @@ def get_v1_companies_company_id_contractors_payment_details( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1233,10 +1233,10 @@ def get_v1_companies_company_id_contractors_payment_details( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1301,11 +1301,11 @@ async def get_v1_companies_company_id_contractors_payment_details_async( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1344,9 +1344,9 @@ async def get_v1_companies_company_id_contractors_payment_details_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1363,10 +1363,10 @@ async def get_v1_companies_company_id_contractors_payment_details_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_app_int/src/gusto_app_integration/departments.py b/gusto_app_int/src/gusto_app_integration/departments.py index fc93c9fa..60581b33 100644 --- a/gusto_app_int/src/gusto_app_integration/departments.py +++ b/gusto_app_int/src/gusto_app_integration/departments.py @@ -47,8 +47,8 @@ def get_all( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -145,8 +145,8 @@ async def get_all_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -245,8 +245,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, department_create_request_body=models.DepartmentCreateRequestBody( title=title, ), @@ -360,8 +360,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, department_create_request_body=models.DepartmentCreateRequestBody( title=title, ), @@ -473,8 +473,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -571,8 +571,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -673,8 +673,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_update_request_body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -796,8 +796,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_update_request_body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -915,8 +915,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -1018,8 +1018,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -1137,8 +1137,8 @@ def add_people( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1274,8 +1274,8 @@ async def add_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1411,8 +1411,8 @@ def remove_people( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1548,8 +1548,8 @@ async def remove_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( diff --git a/gusto_app_int/src/gusto_app_integration/employeeaddresses.py b/gusto_app_int/src/gusto_app_integration/employeeaddresses.py index 0f449dd4..581eee95 100644 --- a/gusto_app_int/src/gusto_app_integration/employeeaddresses.py +++ b/gusto_app_int/src/gusto_app_integration/employeeaddresses.py @@ -50,8 +50,8 @@ def list_home_addresses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -150,8 +150,8 @@ async def list_home_addresses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -264,8 +264,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -399,8 +399,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -520,8 +520,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request( @@ -620,8 +620,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request_async( @@ -1201,8 +1201,8 @@ def get_work_addresses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -1300,8 +1300,8 @@ async def get_work_addresses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -1402,8 +1402,8 @@ def create_work_address( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1520,8 +1520,8 @@ async def create_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1634,8 +1634,8 @@ def get_work_address( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -1732,8 +1732,8 @@ async def get_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( @@ -1836,8 +1836,8 @@ def update_work_address( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, request_body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -1957,8 +1957,8 @@ async def update_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, request_body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -2072,8 +2072,8 @@ def delete_work_address( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -2175,8 +2175,8 @@ async def delete_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( diff --git a/gusto_app_int/src/gusto_app_integration/employeebenefits.py b/gusto_app_int/src/gusto_app_integration/employeebenefits.py index bf08deed..9a2f6818 100644 --- a/gusto_app_int/src/gusto_app_integration/employeebenefits.py +++ b/gusto_app_int/src/gusto_app_integration/employeebenefits.py @@ -1881,8 +1881,8 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request( @@ -1984,8 +1984,8 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request_async( @@ -2091,8 +2091,8 @@ def post_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, employee_section603_high_earner_status_create_request=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2214,8 +2214,8 @@ async def post_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, employee_section603_high_earner_status_create_request=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2335,9 +2335,9 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_yea base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2446,9 +2446,9 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_effecti base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2559,9 +2559,9 @@ def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_y base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, employee_section603_high_earner_status_update_request=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), @@ -2682,9 +2682,9 @@ async def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effec base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, employee_section603_high_earner_status_update_request=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), diff --git a/gusto_app_int/src/gusto_app_integration/employees.py b/gusto_app_int/src/gusto_app_integration/employees.py index 50a93a69..4d8750db 100644 --- a/gusto_app_int/src/gusto_app_integration/employees.py +++ b/gusto_app_int/src/gusto_app_integration/employees.py @@ -1264,11 +1264,11 @@ def get_custom_fields( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1283,9 +1283,9 @@ def get_custom_fields( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1302,10 +1302,10 @@ def get_custom_fields( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1368,11 +1368,11 @@ async def get_custom_fields_async( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1387,9 +1387,9 @@ async def get_custom_fields_async( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1406,10 +1406,10 @@ async def get_custom_fields_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_app_int/src/gusto_app_integration/introspection.py b/gusto_app_int/src/gusto_app_integration/introspection.py index 3ee023a2..9dc40216 100644 --- a/gusto_app_int/src/gusto_app_integration/introspection.py +++ b/gusto_app_int/src/gusto_app_integration/introspection.py @@ -194,8 +194,8 @@ def revoke( client_secret: str, token: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.HeaderXGustoAPIVersion + ] = models.HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -295,8 +295,8 @@ async def revoke_async( client_secret: str, token: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.HeaderXGustoAPIVersion + ] = models.HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -397,8 +397,8 @@ def oauth_access_token( models.OauthAccessTokenRequestBodyTypedDict, ], x_gusto_api_version: Optional[ - models.HeaderXGustoAPIVersion - ] = models.HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.OauthAccessTokenHeaderXGustoAPIVersion + ] = models.OauthAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -495,8 +495,8 @@ async def oauth_access_token_async( models.OauthAccessTokenRequestBodyTypedDict, ], x_gusto_api_version: Optional[ - models.HeaderXGustoAPIVersion - ] = models.HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.OauthAccessTokenHeaderXGustoAPIVersion + ] = models.OauthAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, diff --git a/gusto_app_int/src/gusto_app_integration/locations.py b/gusto_app_int/src/gusto_app_integration/locations.py index 1014f461..c9049825 100644 --- a/gusto_app_int/src/gusto_app_integration/locations.py +++ b/gusto_app_int/src/gusto_app_integration/locations.py @@ -815,8 +815,8 @@ def get_minimum_wages( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) @@ -916,8 +916,8 @@ async def get_minimum_wages_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) diff --git a/gusto_app_int/src/gusto_app_integration/models/__init__.py b/gusto_app_int/src/gusto_app_integration/models/__init__.py index 90113a10..b8d03d3c 100644 --- a/gusto_app_int/src/gusto_app_integration/models/__init__.py +++ b/gusto_app_int/src/gusto_app_integration/models/__init__.py @@ -859,7 +859,7 @@ ) from .oauth_access_tokenop import ( GrantType, - HeaderXGustoAPIVersion, + OauthAccessTokenHeaderXGustoAPIVersion, OauthAccessTokenRequest, OauthAccessTokenRequestBody, OauthAccessTokenRequestBodyTypedDict, @@ -1194,6 +1194,7 @@ PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequestTypedDict, ) from .post_v1_provisionop import ( + PostV1ProvisionHeaderXGustoAPIVersion, PostV1ProvisionRequest, PostV1ProvisionRequestTypedDict, PostV1ProvisionSecurity, @@ -1411,6 +1412,7 @@ from .report import Report, ReportTypedDict from .responsevalidationerror import ResponseValidationError from .revoke_access_tokenop import ( + HeaderXGustoAPIVersion, RevokeAccessTokenRequest, RevokeAccessTokenRequestBody, RevokeAccessTokenRequestBodyTypedDict, @@ -1509,7 +1511,6 @@ UpdateGarnishmentRequestGarnishmentType, UpdateGarnishmentRequestTypedDict, ) - from .versionheader import VersionHeader from .webhook_subscription import ( Status, SubscriptionTypes, @@ -2131,6 +2132,7 @@ "NotificationEntityType", "NotificationStatus", "NotificationTypedDict", + "OauthAccessTokenHeaderXGustoAPIVersion", "OauthAccessTokenRequest", "OauthAccessTokenRequestBody", "OauthAccessTokenRequestBodyTypedDict", @@ -2357,6 +2359,7 @@ "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursHeaderXGustoAPIVersion", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequest", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequestTypedDict", + "PostV1ProvisionHeaderXGustoAPIVersion", "PostV1ProvisionRequest", "PostV1ProvisionRequestTypedDict", "PostV1ProvisionSecurity", @@ -2618,7 +2621,6 @@ "ValueTiers", "ValueTiersTypedDict", "ValueTypedDict", - "VersionHeader", "WageType", "WebhookSubscription", "WebhookSubscriptionTypedDict", @@ -3244,7 +3246,7 @@ "Resources": ".notification", "ResourcesTypedDict": ".notification", "GrantType": ".oauth_access_tokenop", - "HeaderXGustoAPIVersion": ".oauth_access_tokenop", + "OauthAccessTokenHeaderXGustoAPIVersion": ".oauth_access_tokenop", "OauthAccessTokenRequest": ".oauth_access_tokenop", "OauthAccessTokenRequestBody": ".oauth_access_tokenop", "OauthAccessTokenRequestBodyTypedDict": ".oauth_access_tokenop", @@ -3486,6 +3488,7 @@ "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursHeaderXGustoAPIVersion": ".post_v1_payrolls_payroll_id_calculate_accruing_time_off_hoursop", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequest": ".post_v1_payrolls_payroll_id_calculate_accruing_time_off_hoursop", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequestTypedDict": ".post_v1_payrolls_payroll_id_calculate_accruing_time_off_hoursop", + "PostV1ProvisionHeaderXGustoAPIVersion": ".post_v1_provisionop", "PostV1ProvisionRequest": ".post_v1_provisionop", "PostV1ProvisionRequestTypedDict": ".post_v1_provisionop", "PostV1ProvisionSecurity": ".post_v1_provisionop", @@ -3643,6 +3646,7 @@ "Report": ".report", "ReportTypedDict": ".report", "ResponseValidationError": ".responsevalidationerror", + "HeaderXGustoAPIVersion": ".revoke_access_tokenop", "RevokeAccessTokenRequest": ".revoke_access_tokenop", "RevokeAccessTokenRequestBody": ".revoke_access_tokenop", "RevokeAccessTokenRequestBodyTypedDict": ".revoke_access_tokenop", @@ -3719,7 +3723,6 @@ "UpdateGarnishmentRequest": ".update_garnishment_request", "UpdateGarnishmentRequestGarnishmentType": ".update_garnishment_request", "UpdateGarnishmentRequestTypedDict": ".update_garnishment_request", - "VersionHeader": ".versionheader", "Status": ".webhook_subscription", "SubscriptionTypes": ".webhook_subscription", "WebhookSubscription": ".webhook_subscription", diff --git a/gusto_app_int/src/gusto_app_integration/models/get_company_notificationsop.py b/gusto_app_int/src/gusto_app_integration/models/get_company_notificationsop.py index 128e5f7f..b0eec706 100644 --- a/gusto_app_int/src/gusto_app_integration/models/get_company_notificationsop.py +++ b/gusto_app_int/src/gusto_app_integration/models/get_company_notificationsop.py @@ -15,24 +15,24 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class GetCompanyNotificationsQueryParamStatus(str, Enum): - OPEN = "open" - EXPIRED = "expired" - RESOLVED = "resolved" - - class GetCompanyNotificationsHeaderXGustoAPIVersion(str, Enum): r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" +class GetCompanyNotificationsQueryParamStatus(str, Enum): + OPEN = "open" + EXPIRED = "expired" + RESOLVED = "resolved" + + class GetCompanyNotificationsRequestTypedDict(TypedDict): company_uuid: str r"""The UUID of the company for which you would like to return notifications""" - status: NotRequired[GetCompanyNotificationsQueryParamStatus] x_gusto_api_version: NotRequired[GetCompanyNotificationsHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: NotRequired[GetCompanyNotificationsQueryParamStatus] page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] @@ -45,11 +45,6 @@ class GetCompanyNotificationsRequest(BaseModel): ] r"""The UUID of the company for which you would like to return notifications""" - status: Annotated[ - Optional[GetCompanyNotificationsQueryParamStatus], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - x_gusto_api_version: Annotated[ Optional[GetCompanyNotificationsHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -57,6 +52,11 @@ class GetCompanyNotificationsRequest(BaseModel): ] = GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: Annotated[ + Optional[GetCompanyNotificationsQueryParamStatus], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -71,7 +71,7 @@ class GetCompanyNotificationsRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["status", "X-Gusto-API-Version", "page", "per"]) + optional_fields = set(["X-Gusto-API-Version", "status", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_app_int/src/gusto_app_integration/models/get_v1_companies_company_id_contractors_payment_detailsop.py b/gusto_app_int/src/gusto_app_integration/models/get_v1_companies_company_id_contractors_payment_detailsop.py index d8069817..02d2c482 100644 --- a/gusto_app_int/src/gusto_app_integration/models/get_v1_companies_company_id_contractors_payment_detailsop.py +++ b/gusto_app_int/src/gusto_app_integration/models/get_v1_companies_company_id_contractors_payment_detailsop.py @@ -24,14 +24,14 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion(str class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" - contractor_uuid: NotRequired[str] - r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" - contractor_payment_group_uuid: NotRequired[str] - r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" x_gusto_api_version: NotRequired[ GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: NotRequired[str] + r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" + contractor_payment_group_uuid: NotRequired[str] + r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): @@ -40,6 +40,15 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" + x_gusto_api_version: Annotated[ + Optional[ + GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion + ], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: Annotated[ Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,19 +61,10 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] = None r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" - x_gusto_api_version: Annotated[ - Optional[ - GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion - ], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["contractor_uuid", "contractor_payment_group_uuid", "X-Gusto-API-Version"] + ["X-Gusto-API-Version", "contractor_uuid", "contractor_payment_group_uuid"] ) serialized = handler(self) m = {} diff --git a/gusto_app_int/src/gusto_app_integration/models/get_v1_employees_employee_id_custom_fieldsop.py b/gusto_app_int/src/gusto_app_integration/models/get_v1_employees_employee_id_custom_fieldsop.py index ff46c41d..0edf20ce 100644 --- a/gusto_app_int/src/gusto_app_integration/models/get_v1_employees_employee_id_custom_fieldsop.py +++ b/gusto_app_int/src/gusto_app_integration/models/get_v1_employees_employee_id_custom_fieldsop.py @@ -24,14 +24,14 @@ class GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion(str, Enum): class GetV1EmployeesEmployeeIDCustomFieldsRequestTypedDict(TypedDict): employee_id: str r"""The UUID of the employee""" - page: NotRequired[int] - r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" - per: NotRequired[int] - r"""Number of objects per page. For majority of endpoints will default to 25""" x_gusto_api_version: NotRequired[ GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: NotRequired[int] + r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" + per: NotRequired[int] + r"""Number of objects per page. For majority of endpoints will default to 25""" class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): @@ -40,6 +40,13 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] r"""The UUID of the employee""" + x_gusto_api_version: Annotated[ + Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,16 +59,9 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_app_int/src/gusto_app_integration/models/oauth_access_tokenop.py b/gusto_app_int/src/gusto_app_integration/models/oauth_access_tokenop.py index 2e16643c..a87c5dd0 100644 --- a/gusto_app_int/src/gusto_app_integration/models/oauth_access_tokenop.py +++ b/gusto_app_int/src/gusto_app_integration/models/oauth_access_tokenop.py @@ -15,7 +15,7 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class HeaderXGustoAPIVersion(str, Enum): +class OauthAccessTokenHeaderXGustoAPIVersion(str, Enum): r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" @@ -114,7 +114,7 @@ def serialize_model(self, handler): class OauthAccessTokenRequestTypedDict(TypedDict): request_body: OauthAccessTokenRequestBodyTypedDict - x_gusto_api_version: NotRequired[HeaderXGustoAPIVersion] + x_gusto_api_version: NotRequired[OauthAccessTokenHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -125,10 +125,10 @@ class OauthAccessTokenRequest(BaseModel): ] x_gusto_api_version: Annotated[ - Optional[HeaderXGustoAPIVersion], + Optional[OauthAccessTokenHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + ] = OauthAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_app_int/src/gusto_app_integration/models/post_v1_provisionop.py b/gusto_app_int/src/gusto_app_integration/models/post_v1_provisionop.py index 990cf7d8..cd317eed 100644 --- a/gusto_app_int/src/gusto_app_integration/models/post_v1_provisionop.py +++ b/gusto_app_int/src/gusto_app_integration/models/post_v1_provisionop.py @@ -5,7 +5,7 @@ ProvisionCreateRequestBody, ProvisionCreateRequestBodyTypedDict, ) -from .versionheader import VersionHeader +from enum import Enum from gusto_app_integration.types import BaseModel, UNSET_SENTINEL from gusto_app_integration.utils import ( FieldMetadata, @@ -37,9 +37,15 @@ class PostV1ProvisionSecurity(BaseModel): ] +class PostV1ProvisionHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" + + class PostV1ProvisionRequestTypedDict(TypedDict): provision_create_request_body: ProvisionCreateRequestBodyTypedDict - x_gusto_api_version: NotRequired[VersionHeader] + x_gusto_api_version: NotRequired[PostV1ProvisionHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -50,10 +56,10 @@ class PostV1ProvisionRequest(BaseModel): ] x_gusto_api_version: Annotated[ - Optional[VersionHeader], + Optional[PostV1ProvisionHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + ] = PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_app_int/src/gusto_app_integration/models/post_v1_webhook_subscriptionop.py b/gusto_app_int/src/gusto_app_integration/models/post_v1_webhook_subscriptionop.py index b946e649..1eb6a827 100644 --- a/gusto_app_int/src/gusto_app_integration/models/post_v1_webhook_subscriptionop.py +++ b/gusto_app_int/src/gusto_app_integration/models/post_v1_webhook_subscriptionop.py @@ -57,6 +57,7 @@ class PostV1WebhookSubscriptionSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PostV1WebhookSubscriptionRequestBodyTypedDict(TypedDict): diff --git a/gusto_app_int/src/gusto_app_integration/models/put_v1_webhook_subscription_uuidop.py b/gusto_app_int/src/gusto_app_integration/models/put_v1_webhook_subscription_uuidop.py index f5d22ded..496980a7 100644 --- a/gusto_app_int/src/gusto_app_integration/models/put_v1_webhook_subscription_uuidop.py +++ b/gusto_app_int/src/gusto_app_integration/models/put_v1_webhook_subscription_uuidop.py @@ -58,6 +58,7 @@ class PutV1WebhookSubscriptionUUIDSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PutV1WebhookSubscriptionUUIDRequestBodyTypedDict(TypedDict): diff --git a/gusto_app_int/src/gusto_app_integration/models/revoke_access_tokenop.py b/gusto_app_int/src/gusto_app_integration/models/revoke_access_tokenop.py index 8d1de1d3..f468d967 100644 --- a/gusto_app_int/src/gusto_app_integration/models/revoke_access_tokenop.py +++ b/gusto_app_int/src/gusto_app_integration/models/revoke_access_tokenop.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .versionheader import VersionHeader +from enum import Enum from gusto_app_integration.types import BaseModel, UNSET_SENTINEL from gusto_app_integration.utils import FieldMetadata, HeaderMetadata, RequestMetadata import pydantic @@ -10,6 +10,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class HeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" + + class RevokeAccessTokenRequestBodyTypedDict(TypedDict): client_id: str r"""Your client id""" @@ -32,7 +38,7 @@ class RevokeAccessTokenRequestBody(BaseModel): class RevokeAccessTokenRequestTypedDict(TypedDict): request_body: RevokeAccessTokenRequestBodyTypedDict - x_gusto_api_version: NotRequired[VersionHeader] + x_gusto_api_version: NotRequired[HeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -43,10 +49,10 @@ class RevokeAccessTokenRequest(BaseModel): ] x_gusto_api_version: Annotated[ - Optional[VersionHeader], + Optional[HeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + ] = HeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_app_int/src/gusto_app_integration/models/versionheader.py b/gusto_app_int/src/gusto_app_integration/models/versionheader.py deleted file mode 100644 index 9a6675eb..00000000 --- a/gusto_app_int/src/gusto_app_integration/models/versionheader.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - - -class VersionHeader(str, Enum): - TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" diff --git a/gusto_app_int/src/gusto_app_integration/models/webhook_subscription.py b/gusto_app_int/src/gusto_app_integration/models/webhook_subscription.py index 65d00dac..c6f27a8e 100644 --- a/gusto_app_int/src/gusto_app_integration/models/webhook_subscription.py +++ b/gusto_app_int/src/gusto_app_integration/models/webhook_subscription.py @@ -34,6 +34,7 @@ class SubscriptionTypes(str, Enum): PAYROLL_SYNC = "PayrollSync" PAY_SCHEDULE = "PaySchedule" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class WebhookSubscriptionTypedDict(TypedDict): diff --git a/gusto_app_int/src/gusto_app_integration/notifications.py b/gusto_app_int/src/gusto_app_integration/notifications.py index 25ec9921..6ec3d987 100644 --- a/gusto_app_int/src/gusto_app_integration/notifications.py +++ b/gusto_app_int/src/gusto_app_integration/notifications.py @@ -13,10 +13,10 @@ def get_company_notifications( self, *, company_uuid: str, - status: Optional[models.GetCompanyNotificationsQueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + status: Optional[models.GetCompanyNotificationsQueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -33,8 +33,8 @@ def get_company_notifications( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -53,9 +53,9 @@ def get_company_notifications( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) @@ -114,10 +114,10 @@ async def get_company_notifications_async( self, *, company_uuid: str, - status: Optional[models.GetCompanyNotificationsQueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + status: Optional[models.GetCompanyNotificationsQueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -134,8 +134,8 @@ async def get_company_notifications_async( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -154,9 +154,9 @@ async def get_company_notifications_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) diff --git a/gusto_app_int/src/gusto_app_integration/payrolls.py b/gusto_app_int/src/gusto_app_integration/payrolls.py index fb571db7..11964f1a 100644 --- a/gusto_app_int/src/gusto_app_integration/payrolls.py +++ b/gusto_app_int/src/gusto_app_integration/payrolls.py @@ -78,8 +78,8 @@ def get_for_company( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -218,8 +218,8 @@ async def get_for_company_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -348,9 +348,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -472,9 +472,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, diff --git a/gusto_app_int/src/gusto_app_integration/webhooks.py b/gusto_app_int/src/gusto_app_integration/webhooks.py index 940c9dc2..1adac8c4 100644 --- a/gusto_app_int/src/gusto_app_integration/webhooks.py +++ b/gusto_app_int/src/gusto_app_integration/webhooks.py @@ -484,8 +484,8 @@ def get_subscription( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -590,8 +590,8 @@ async def get_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -698,8 +698,8 @@ def update_subscription( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -821,8 +821,8 @@ async def update_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -942,8 +942,8 @@ def delete_subscription( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1048,8 +1048,8 @@ async def delete_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -1158,8 +1158,8 @@ def verify( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), @@ -1283,8 +1283,8 @@ async def verify_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), @@ -1404,8 +1404,8 @@ def request_verification_token( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1512,8 +1512,8 @@ async def request_verification_token_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( diff --git a/gusto_app_int_v_2026_06_15/.speakeasy/gen.lock b/gusto_app_int_v_2026_06_15/.speakeasy/gen.lock index 157bbd8a..4b14a2c0 100644 --- a/gusto_app_int_v_2026_06_15/.speakeasy/gen.lock +++ b/gusto_app_int_v_2026_06_15/.speakeasy/gen.lock @@ -1,20 +1,20 @@ lockVersion: 2.0.0 id: fe5452fb-0355-49a3-8126-8d9446179d83 management: - docChecksum: 35a4af5fb28d0e7fe3819e0e8c9fde22 + docChecksum: f43019e4679cbf57b1e42612dbf9e119 docVersion: "2026-06-15" - speakeasyVersion: 1.769.1 - generationVersion: 2.892.1 - releaseVersion: 0.0.1 - configChecksum: a39c3a4b3b7b817c299dd76ae029a992 + speakeasyVersion: 1.771.0 + generationVersion: 2.893.0 + releaseVersion: 0.0.2 + configChecksum: f9214207f29077df654a511f474b61cf repoURL: https://github.com/Gusto/gusto-python-client.git repoSubDirectory: gusto_app_int_v_2026_06_15 installationURL: https://github.com/Gusto/gusto-python-client.git#subdirectory=gusto_app_int_v_2026_06_15 published: true persistentEdits: - generation_id: 2f857a8c-d715-4531-ac7b-f1308a17d7ed - pristine_commit_hash: 5793004ac8bc2b3d9a4562954006a5be1187595f - pristine_tree_hash: b542309472b5674df979255d3de15df3881ff824 + generation_id: a45da576-5b49-46de-8415-935ed8172d2f + pristine_commit_hash: 244a5ff2cb8c42b1d4f87ca238a933eab6db50fc + pristine_tree_hash: cac64c78fac944d97fe88949847e10e7e1ef4841 features: python: additionalDependencies: 1.1.0 @@ -413,8 +413,8 @@ trackedFiles: pristine_git_object: 19963197f99135345bb4a62fe23dd4ed5469a3c6 docs/models/deletedepartmentrequest.md: id: ba9cf41722bf - last_write_checksum: sha1:8af1f594a2dfa6277b7cb31bf14a20dca38b9e02 - pristine_git_object: fa5403d9558d867938b11fddc5ab6390ff2d5b76 + last_write_checksum: sha1:307ae1ed3132c076e19633d12c2e1735755c408b + pristine_git_object: 5e11e97f01a08b6f1bf458b84061e81cf79fbb71 docs/models/deletetimetrackingtimesheetstimesheetuuidheaderxgustoapiversion.md: id: e614d5dda662 last_write_checksum: sha1:d12147c7c51779098d18c777eb0699be85b1ebf7 @@ -501,8 +501,8 @@ trackedFiles: pristine_git_object: 17f246e5742ab223a948e708e011691e2d05f1b8 docs/models/deletev1webhooksubscriptionuuidrequest.md: id: 24f1d40e16f6 - last_write_checksum: sha1:f0ffa08b88ab307c76aa2c45beaa5baa801b4439 - pristine_git_object: b44156c9feee50ace1fb938c36ce6cafcce293fa + last_write_checksum: sha1:e5579667f0169dedc74f5eb2397b9902e3c262c5 + pristine_git_object: 3b1cbfd9ce7914558acfacd77fb3c4bdde90e45a docs/models/deletev1webhooksubscriptionuuidsecurity.md: id: 3deb093db84b last_write_checksum: sha1:8740b24efc9bb23066f3d39311254a17b913b79d @@ -513,8 +513,8 @@ trackedFiles: pristine_git_object: 77543cfdf25c8f238b1e3c9ecabfe830463dde3a docs/models/deletev1workaddressesworkaddressuuidrequest.md: id: 35718dbe6d0b - last_write_checksum: sha1:51a04e719ff7033831b29ebb321148f81dafcf04 - pristine_git_object: e21c51ef856960c88973c35533d240413bf288d9 + last_write_checksum: sha1:a8126fe3d046f4e504bdf7fb970912f0f99b85e1 + pristine_git_object: 103375b831f574790646bb08af3d2734a0f30f67 docs/models/department.md: id: a35d7d606751 last_write_checksum: sha1:e9c947ef8fdf90833d48e7205aa0b972746f3f93 @@ -821,24 +821,24 @@ trackedFiles: pristine_git_object: 66444dd7d662d67ad21d6cb986fc5342d6da3fa7 docs/models/getcompaniesdepartmentsrequest.md: id: a61ebf4ee118 - last_write_checksum: sha1:f13fbaf077f9bb422598183d6239c7ee0b0d9cf8 - pristine_git_object: 0ec638e323177c89b1948d655f31d4314099b377 + last_write_checksum: sha1:e2f954a0df55b1e1697f7c016e37cd0197db3383 + pristine_git_object: d598309d2ca3ad4694db5a0aa6dc9d9296a165d4 docs/models/getcompanynotificationsheaderxgustoapiversion.md: id: 09f6be0fe6a0 last_write_checksum: sha1:3e5b2dac3d09aa63c37583e376d6824d5cee488e pristine_git_object: 1a8dbf428edc186ab07ae8bb03b9f0b40384ff68 docs/models/getcompanynotificationsrequest.md: id: d9d552594b63 - last_write_checksum: sha1:1e0f8d08640ef93ca55de13deb4a6b4cdac7542c - pristine_git_object: 637a1ff07729bd9b9be4c047ba9f25abc3f03c86 + last_write_checksum: sha1:ac3e3382a76e7d21c3dee0768120323567a40e8e + pristine_git_object: b870aa1738995087fd1fc08049cad88a80093a28 docs/models/getdepartmentheaderxgustoapiversion.md: id: 2b542b244895 last_write_checksum: sha1:7239b5795badad43381d6d47dcd265b1fca41c0d pristine_git_object: 4eedbe341597ae4cb70bf7ea56749a793d6c2245 docs/models/getdepartmentrequest.md: id: 4224280cb519 - last_write_checksum: sha1:1af0b412d6aa245611b3d218d888de0ab110455b - pristine_git_object: 8db1cf927cb21ac7a70fab04402c324d4c3f2bc9 + last_write_checksum: sha1:66966f9bcf28b586c0346f777079735e1ef616a1 + pristine_git_object: 23a6159c7c251ac2048e14c3d3bfb0f6d7bdf105 docs/models/getemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: da7bbcc52e44 last_write_checksum: sha1:fc9af9e284ea32b7a88254a3c51c125f2365e3cb @@ -949,8 +949,8 @@ trackedFiles: pristine_git_object: c0fac3806cc50eb914a0a40a91ab611e3ebf0004 docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md: id: 521c21287e14 - last_write_checksum: sha1:ee93ea69a420b707fe13ea0d71c9e69446d9f21e - pristine_git_object: 0d986047a45cdccf132060337ccc89a8b6795a60 + last_write_checksum: sha1:c1822673c6c6fde73b763df3b0eff9bc543963f7 + pristine_git_object: 3e6b39b9cb0af6cf582d5d9f753beae73e39e071 docs/models/getv1companiescompanyidcustomfieldsheaderxgustoapiversion.md: id: 31414dab58c7 last_write_checksum: sha1:f106a2c41e1dc11c76b20991d962a3a0b7fc4fbe @@ -1009,16 +1009,16 @@ trackedFiles: pristine_git_object: a33eff3c67a84cbe9f2d256ed20db2d4a3fad956 docs/models/getv1companiescompanyidpayrollspayrollidrequest.md: id: 18b7df56f915 - last_write_checksum: sha1:1f724cbaa4c349e5b27fe0512ae8a33a4c40ca28 - pristine_git_object: 437f96d447b639d69e898c4439f7a1bc63f621e8 + last_write_checksum: sha1:666a8b347d05884f7cd3de16d318b96828a25719 + pristine_git_object: bc90ad8697ecd47ec44159164e4b7738df745bb6 docs/models/getv1companiescompanyidpayrollsqueryparaminclude.md: id: f0ab7b48060c last_write_checksum: sha1:cf5d04b03ddb2d73c9fa3f5bf90309d86f438b5f pristine_git_object: e9a8c0d9afd8eb1a8f9b0a6a05636d9049b31984 docs/models/getv1companiescompanyidpayrollsrequest.md: id: f74644d59582 - last_write_checksum: sha1:0d30f2facdbbb6f32e125e9e9e2c6bbebbbc9e83 - pristine_git_object: 92805c2285d7a3b8d30da0ddef57e1afd229f87b + last_write_checksum: sha1:03bf3f514fac3769985ab707cca338dbac6a166b + pristine_git_object: fed93555892520176cd274e4b05cdf7c68b6eeb2 docs/models/getv1companiescompanyidpayschedulesassignmentsheaderxgustoapiversion.md: id: 8de2ec62f405 last_write_checksum: sha1:f6e77ee3f2f6da92b9fbacd002047f278712c410 @@ -1085,8 +1085,8 @@ trackedFiles: pristine_git_object: 0b9a2cea79da1589658675330c518996a3b81f7c docs/models/getv1companiesrequest.md: id: e2f1037ade12 - last_write_checksum: sha1:34d99629ebd4b9e00c11940f14a29e5f3b7d6404 - pristine_git_object: ddf4598ff558fc0bf94368fb59dafe71ad520980 + last_write_checksum: sha1:755dc3743653fbba8faf5803705fcedd24a38814 + pristine_git_object: 4a4c0132dbb7845ff662ecbee81ef4dd5ba70086 docs/models/getv1companybenefitscompanybenefitidcontributionexclusionsheaderxgustoapiversion.md: id: 0fa158f0c89d last_write_checksum: sha1:852062cf74d8f53a9d76d3d8c699b96a6b6ec102 @@ -1145,8 +1145,8 @@ trackedFiles: pristine_git_object: e29dba9e8c9136dd64cc68bd3b874861ec8e132a docs/models/getv1employeesemployeeidcustomfieldsrequest.md: id: 528971b8aa8d - last_write_checksum: sha1:3998cc6d74753e9e2ab1042523e226deed73728c - pristine_git_object: ad3665fed8d31556b04063492b74668c3893adb6 + last_write_checksum: sha1:543fedfe62da50ed887c6efcf07630b42a81e687 + pristine_git_object: dd48aea74608c9e6e059498eba97a908fd8b0ddd docs/models/getv1employeesemployeeidemployeebenefitsheaderxgustoapiversion.md: id: 9f1ff8ca4dba last_write_checksum: sha1:0fe557d7e52accdb61258e74ca4bb9ad70fbb528 @@ -1181,8 +1181,8 @@ trackedFiles: pristine_git_object: ab16f01b2732dea192d33feae1f135f2c4dd2e97 docs/models/getv1employeesemployeeidhomeaddressesrequest.md: id: 2db0bc82832c - last_write_checksum: sha1:4bf5c24ca76cd171eda42e8f3b1404f960b6f4dc - pristine_git_object: 25bcddc36560596b77b6e02f1a039dd9fc78ab72 + last_write_checksum: sha1:424c4f5f2de86c18ab7813da2d26a394876bf1b1 + pristine_git_object: 50cef7ab0ddfc6c1174e377db7190b14569aed06 docs/models/getv1employeesemployeeidrecurringreimbursementsheaderxgustoapiversion.md: id: 0e93a1f4829a last_write_checksum: sha1:33888cc2870c67f6faf86dce119f907af859f74e @@ -1213,24 +1213,24 @@ trackedFiles: pristine_git_object: 4d10c82d5fb229b43141c792a34783103dbb3fd1 docs/models/getv1employeesemployeeidworkaddressesrequest.md: id: e43728e47a3a - last_write_checksum: sha1:f4fcdf809ccf7d0ae3c3b132337f789a24e8ef0a - pristine_git_object: 00b143d58c5ff80209473e31642b9618bc60a943 + last_write_checksum: sha1:7f23586e14e8f0544a5d6ab12c83adf7309c26f6 + pristine_git_object: 93254bf5957eb2e1c49d76f7f57bd587d9d53771 docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md: id: e8e95778d715 last_write_checksum: sha1:6631ae37726f7fc8e29240d90f4dd15e042b2564 pristine_git_object: ff40b9ea5f44c3bb203b89e733e2885d47bec43e docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 26a889c306e3 - last_write_checksum: sha1:c75f797082d41d5939a9576e8095bb4a91ff642f - pristine_git_object: 098f64eadf222fd3f023fc69a38bea18fd042454 + last_write_checksum: sha1:2ce9bc8050060d129120c6af43a5e58338365a41 + pristine_git_object: 2d27a7def9dc48592f4f927e4b1e62a241050d14 docs/models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md: id: cd07a69db8b3 last_write_checksum: sha1:aecb6466a899734df304a644f766a9d17c30d9e0 pristine_git_object: 3b3b5c1a5ccf2cea001898e1dabfabca5e0776fe docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: 800013cafed2 - last_write_checksum: sha1:a3e99abdd2c8d04150e293f25b6ae031534952d5 - pristine_git_object: de8d6594a51ea6b711fbff54f6488ccff101bf9e + last_write_checksum: sha1:646852b4312d1a7e810a472f12a82498a18318a4 + pristine_git_object: 743bef6256e81fc0bc30d84713e33d669bf679f5 docs/models/getv1employeesheaderxgustoapiversion.md: id: 8662bc987474 last_write_checksum: sha1:d22f78b06b7706388a2d2063dca2ed140f827c8c @@ -1265,8 +1265,8 @@ trackedFiles: pristine_git_object: fc49191351f84059aa9f5650116280f53fb15abe docs/models/getv1homeaddresseshomeaddressuuidrequest.md: id: 28fc8b01d014 - last_write_checksum: sha1:29634ec1d0dcaa76de944e5ef8f26b727fa761b7 - pristine_git_object: 654451d4b21846e3139f3589f44d2b97d3a78079 + last_write_checksum: sha1:40fb3788a3f454730152f0e96b60f059eeb2a439 + pristine_git_object: fd27eac533d55b33504965e97faf7af740759c5f docs/models/getv1jobsjobidcompensationsheaderxgustoapiversion.md: id: d9db13bfa8f4 last_write_checksum: sha1:fab5518b3a9ce1dd7ee685fb4de888f86587df8d @@ -1293,8 +1293,8 @@ trackedFiles: pristine_git_object: abb1ea1523836cbc6f53ce393c91bae590d893c4 docs/models/getv1locationslocationuuidminimumwagesrequest.md: id: 240a22a8d2f4 - last_write_checksum: sha1:0c9b8f7e0e649398c6ed86767795597247c5512c - pristine_git_object: 12dc539732e03bc7918fa574b41ac160c270501e + last_write_checksum: sha1:75b1c331c82b052a36df5cccf5d029cd33c0e302 + pristine_git_object: 7b94700f8c5790de2b982cf2fe46065036bf57fc docs/models/getv1recurringreimbursementsheaderxgustoapiversion.md: id: b64d7c2c5185 last_write_checksum: sha1:368d1359ce8d7ba274c1b5a34e3cf018dce700ea @@ -1377,8 +1377,8 @@ trackedFiles: pristine_git_object: e1a356af449d33261a56d9a3c2c5b43c507fd2dc docs/models/getv1webhooksubscriptionuuidrequest.md: id: 8274fc2e1315 - last_write_checksum: sha1:d29bfd06b696660069f114b75b322b15692ce980 - pristine_git_object: 1668e8ab3d7e5f7cbf2a94cfe2e3e26adf59f73f + last_write_checksum: sha1:08fc1b42ffe44c430ec148bf9114c504dff5f2df + pristine_git_object: 227e3d31aa791520747f1d8ff00a50eeb561da3c docs/models/getv1webhooksubscriptionuuidsecurity.md: id: dd2624fa02af last_write_checksum: sha1:be3cfd94b2d1ce8ac5630aeff3d15fd1a02b8f7e @@ -1389,8 +1389,8 @@ trackedFiles: pristine_git_object: 0db408b63a148a1e481fa70f6e491a20c92b7b34 docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md: id: ac93c05cb2ff - last_write_checksum: sha1:fcbde7fcdeb8dec50aca9c9c281ffe492fda9e6f - pristine_git_object: 9f8ff4ca44f07ebc5a3ba9f96dafd5cc10a6891d + last_write_checksum: sha1:5dc7cb3e213a3c958cd756095f9d2190895799e0 + pristine_git_object: 4fabc561e29ad113db0b779aa9a4700f786e7c19 docs/models/getv1webhooksubscriptionverificationtokenuuidsecurity.md: id: aab731f5d8e5 last_write_checksum: sha1:f43b34588877321b110362087021516fe53bb302 @@ -1401,8 +1401,8 @@ trackedFiles: pristine_git_object: 893fe722f35673b7b75a49c9d8dd31f46c1b401a docs/models/getv1workaddressesworkaddressuuidrequest.md: id: b0234750f955 - last_write_checksum: sha1:94637b19f0318e362d75b125a062b39ccf5f3cb5 - pristine_git_object: 7888f2035b06c2c11d4a8b4a22901a6c51b43600 + last_write_checksum: sha1:98c4c6a589490c65677dd9a99f94274d8a403371 + pristine_git_object: 93b1aabd846b34cbb59ddff3531655330210c93d docs/models/getversionemployeestimeoffactivitiesheaderxgustoapiversion.md: id: 98b80660e466 last_write_checksum: sha1:61fa3b8752b919b959fc498254c18ab1533add7a @@ -1541,8 +1541,8 @@ trackedFiles: pristine_git_object: 9d1ade9143ee6dc64ee041b1c5421af0c499485d docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 15150bb2f878 - last_write_checksum: sha1:7170ed8bd961f0e47a4fb299c4bbe30a0c7e3399 - pristine_git_object: f1af0ad52c2cd7f6bc4ff09a71c9ac02e4b7064f + last_write_checksum: sha1:6449cb355cc3434044cb4b70b8ae1d0e8cb70be8 + pristine_git_object: 1571ce7da4333b1e7e82532016a35b0989452d0d docs/models/payclassification.md: id: 76068b5bec14 last_write_checksum: sha1:822794f727e5cf401a9d9bca554c2cf6b55b6245 @@ -1845,8 +1845,8 @@ trackedFiles: pristine_git_object: 714fe49881d1b8b869454f2e6cc82ff6a5ccbbca docs/models/postdepartmentsrequest.md: id: 4018caf28870 - last_write_checksum: sha1:f28d87850903ccc7664fd4d6eda0ff1786af57ac - pristine_git_object: b200ce253c56ce9a058b16dc6ccb4027bfc4f89a + last_write_checksum: sha1:3c54a11c97a07638c19ac71d045d37de871c1d3b + pristine_git_object: 6cabc424cf23c96bfd274930bac98df1a8a021e3 docs/models/postemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: 4ba357eff9d0 last_write_checksum: sha1:08e74b53c4a3c9fc29f390744c0429b6f1fe5fb3 @@ -1953,8 +1953,8 @@ trackedFiles: pristine_git_object: 8773f7af94642bb5dd9e537baa20badbc7fca46d docs/models/postv1employeesemployeeidhomeaddressesrequest.md: id: 09f45e83475a - last_write_checksum: sha1:ad70462a6f796c9922d221d2f01cd5258a10c544 - pristine_git_object: 1835d19354e88d505359d2e549dd8bcb81f93b48 + last_write_checksum: sha1:f55cb8d3d851ea71c2545e6129465f6aa1a52360 + pristine_git_object: 482a81820ec43e18419f9c521151cf301fbb8026 docs/models/postv1employeesemployeeidhomeaddressesrequestbody.md: id: 796e03da5af8 last_write_checksum: sha1:29bce5bdac51eabf4bc3b00ad09c5bf85edaf4e3 @@ -2017,8 +2017,8 @@ trackedFiles: pristine_git_object: 78e285c6e1a51072a78c31f2c2507c8cb912e579 docs/models/postv1employeesemployeeidworkaddressesrequest.md: id: 9a13857b1e01 - last_write_checksum: sha1:cec3033bebbb943408a4967d9b0c111c476949aa - pristine_git_object: 2e4dca5173df25c6be30c52243e890ec38a11cb0 + last_write_checksum: sha1:261649414672abd2850292e3ed04f48b428b22af + pristine_git_object: 077c3a6fcfe47758319c16f17a25a43951b9101c docs/models/postv1employeesemployeeidworkaddressesrequestbody.md: id: 3250db5a72e5 last_write_checksum: sha1:84cd5d039ae43dba89c1ce66d8bc7bbfc220248c @@ -2029,8 +2029,8 @@ trackedFiles: pristine_git_object: dd1b89d6f55b5f1720a33776b6b12ef80ced6391 docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: a2a27c0aec9e - last_write_checksum: sha1:bda56a563fcd7eb89315d7ed8b3ac064cd4f0f2d - pristine_git_object: 04d29ebeb04bb9c38f44fb84e806f1c1a2ad6770 + last_write_checksum: sha1:ac9f428457448695b45efc7be4884602c212f1ab + pristine_git_object: 3f15857a3d547f777497e7e0772050e96c2afa93 docs/models/postv1employeesheaderxgustoapiversion.md: id: 63eba27d02c1 last_write_checksum: sha1:e281f1a85ddc9c79d2243b82a4fe9bb44e011f44 @@ -2051,10 +2051,14 @@ trackedFiles: id: b3cfe1283a07 last_write_checksum: sha1:b2ebfa6ee5ec5fe95bf53e34bbe769c7b7a992b8 pristine_git_object: 4265de619aea969a5aa728bb62df747365801b73 + docs/models/postv1provisionheaderxgustoapiversion.md: + id: 82f7f37b8b8f + last_write_checksum: sha1:4aeace0f9703bebca0add2fd9c9c11500ff9df2a + pristine_git_object: 579945de837d71c0c8dcca92cb2b56f34731c325 docs/models/postv1provisionrequest.md: id: 99bc26028b65 - last_write_checksum: sha1:b75a34f818c8db33be4e8fccabe5ebe501e7b0a3 - pristine_git_object: 21878f76ef55714786c5d23d13536ba6ab7666e7 + last_write_checksum: sha1:fb55cc08424704f5609ac4db47c269c014a6ec1d + pristine_git_object: 07701fecde234bca752406d094f40913de3f3b58 docs/models/postv1provisionsecurity.md: id: c734c14ff86a last_write_checksum: sha1:3886151894e9947d5099a635a384a5eabb527038 @@ -2089,8 +2093,8 @@ trackedFiles: pristine_git_object: 553017f5abc350f1359f3b0aff2993dee19d191b docs/models/postv1webhooksubscriptionsubscriptiontypes.md: id: 9526e8313c09 - last_write_checksum: sha1:83f1fc8aed98c15377a141c7d17fc9f911b81407 - pristine_git_object: 6a7644a1087a315947eedddd6544b4a3bb97cf0d + last_write_checksum: sha1:ca37889b7e20196784da5e1af9ce506501489126 + pristine_git_object: bd179e595d20f9940f64c90afa00fbf976e4380d docs/models/primarypayrolladmin.md: id: 7ed028b83854 last_write_checksum: sha1:704e4481aa982c77f08389292da608da94897a56 @@ -2121,24 +2125,24 @@ trackedFiles: pristine_git_object: c16e5bb61b2e7b4b82ca66fc95c760a58fc14104 docs/models/putaddpeopletodepartmentrequest.md: id: e3c4f81cf55d - last_write_checksum: sha1:bedb2ed8dc682c7825fe97b283b993533c158504 - pristine_git_object: 9be03f3ffe5cb9aef6b62c8877dec4f727ee44d7 + last_write_checksum: sha1:b83b73dbd94e3c7b138751e709e2635271250b7a + pristine_git_object: 00b4b74430c03e5d3f26bd51580ed9d0a44a7877 docs/models/putdepartmentsheaderxgustoapiversion.md: id: 8b0db4a6501e last_write_checksum: sha1:db8c7264ebe3f611ec756f6dcf9501e20af8955f pristine_git_object: 8b945f1ccfdbb5cc3c0683b5c2c81993b26cbd9e docs/models/putdepartmentsrequest.md: id: 244955f78290 - last_write_checksum: sha1:77acf43119df1a052619c9102b0a921cec530f71 - pristine_git_object: fff7a2017e729f5c560411ef2f44fcd4afbd67fa + last_write_checksum: sha1:4abaf16491afb076ec00c3c648de77fbcfe7b5a1 + pristine_git_object: edd8b60f8f7d3341b8c036b3c01b1a3dc0b6e39a docs/models/putremovepeoplefromdepartmentheaderxgustoapiversion.md: id: c89343ad8eed last_write_checksum: sha1:2f49481571e794914bc6afb7bd5f0f2050376865 pristine_git_object: e6b28a5e527ff9324af7a73d8f7564e7e6d5456e docs/models/putremovepeoplefromdepartmentrequest.md: id: 2ad30c52510e - last_write_checksum: sha1:77eb712d341f1b92a0028fbd3142d2fcb9ea54b2 - pristine_git_object: 10465483e9e05c0fd0c535409f1b41ce512d56e1 + last_write_checksum: sha1:9e08b16d1675e9db171d73c0410686b5b05f8e8e + pristine_git_object: b46ad9fdeff5cb88bbd1872df170e4a38c0ae1b7 docs/models/puttimetrackingtimesheetstimesheetuuidheaderxgustoapiversion.md: id: d9900a1ddd80 last_write_checksum: sha1:f836c6303a5199f2ea3d48a4dcebda5f33d2848b @@ -2185,8 +2189,8 @@ trackedFiles: pristine_git_object: 271b362586fdb3a9189eb6cb7860f2e8bc2b2b74 docs/models/putv1companiesrequest.md: id: 7e73b41a4deb - last_write_checksum: sha1:5339bffb0a1731f925b620ab26d4ff8f8bb3d0bf - pristine_git_object: dbbbdf00130e9a885271bb9052fc91550736fe0b + last_write_checksum: sha1:5bc9e1ad8b9b91407427a591c9c3cb5ec76ba621 + pristine_git_object: c672f1e891d8b972952443d31cb19065a96b60ed docs/models/putv1companiesrequestbody.md: id: 1bfadbb0d32d last_write_checksum: sha1:4222ea2f130a0246f6942556ebe961abeb4fec04 @@ -2357,8 +2361,8 @@ trackedFiles: pristine_git_object: db79c43768e134bd5d4fea597a3a0c0eff7b3b4d docs/models/putv1verifywebhooksubscriptionuuidrequest.md: id: b9876c77983b - last_write_checksum: sha1:d6c0d653f5c3dfce4db365edb96d0b15d29293e9 - pristine_git_object: f58c26ec5b002e2e595cb729e9f1429f1d968de3 + last_write_checksum: sha1:00db70d0e1e5ecd793976c896c6c60c5b105aa9d + pristine_git_object: 0a19b2e649143a9400a514426ed1c144bc513d82 docs/models/putv1verifywebhooksubscriptionuuidrequestbody.md: id: fc58d6bba1f7 last_write_checksum: sha1:8b38ba52de1f29a05acf6374cfb095fb353225c8 @@ -2373,8 +2377,8 @@ trackedFiles: pristine_git_object: 94613cecf17390c8023c3af89e423bbbac271223 docs/models/putv1webhooksubscriptionuuidrequest.md: id: 378e848842b1 - last_write_checksum: sha1:452b844acaf5d13bde4ee5c5298458f3a7a2223c - pristine_git_object: 5c099288b455845057ae7384ee1dad50c410bb47 + last_write_checksum: sha1:2713ba47a095044bc6a6736eaf3ea8696edb4e8e + pristine_git_object: 56c0a7ed9b1fffd04454340b917326fa21d1bc80 docs/models/putv1webhooksubscriptionuuidrequestbody.md: id: 7ea35f6c5cb1 last_write_checksum: sha1:bd9069eecfe38f6de3c75940e12607571330682b @@ -2385,16 +2389,16 @@ trackedFiles: pristine_git_object: 6a5e764a3f1c40d28c57e8c9cf3c0804a57ad396 docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md: id: 5fdaf94a9bc6 - last_write_checksum: sha1:f645a0e30ef53ea3a9cf12d65af6dbe55e59c30b - pristine_git_object: 39317674f950a7334051ee5fce9a82412a5ef2bb + last_write_checksum: sha1:c812b5438caa805fe2d95a6be112fe0ccfe6ffd7 + pristine_git_object: 1d4be353a4f9dfcd95eeb2a33776f347ed040108 docs/models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md: id: 479d77c5e139 last_write_checksum: sha1:d9c9089c88508658f3b8aefe381af63708ae13df pristine_git_object: 105c8558f70537caa798c057fa8a01dd92e3fff0 docs/models/putv1workaddressesworkaddressuuidrequest.md: id: 44f18d9cdba0 - last_write_checksum: sha1:9528263f59ec4a379f6406bfde5e64a8ad886706 - pristine_git_object: 68a6e593722d93bfca3027c20bdecda66048fd20 + last_write_checksum: sha1:c2cb2dfcc16a0985131a4c318464f1fc9da95816 + pristine_git_object: 3daa2c1176409f2ae193d0f82ea1900f69c8e0fe docs/models/putv1workaddressesworkaddressuuidrequestbody.md: id: 1e0957075fe6 last_write_checksum: sha1:e1ff25a475b2fabf4bb078ef7aa1e4908aff9f96 @@ -2483,10 +2487,14 @@ trackedFiles: id: 4607729e43a1 last_write_checksum: sha1:6aa8b28d9368ffdd6a99293b2e399598f42fd25c pristine_git_object: 83a65a6bac180bd68eaa33ee9720f68a94d161b7 + docs/models/revokeaccesstokenheaderxgustoapiversion.md: + id: f808997e43a5 + last_write_checksum: sha1:5e22c5382539596dddbf426c5b2937bb6e550491 + pristine_git_object: 6ad165f7d10914069d8d8ad280d819ab2e11677d docs/models/revokeaccesstokenrequest.md: id: 90da55aca4f1 - last_write_checksum: sha1:0821f31bd61c389aada0e6f7995921742b2dc9e0 - pristine_git_object: a1e2268225603af4acd11a13b4f6e4cd2936319d + last_write_checksum: sha1:634f38d59b80f3db5d56cd8b0aaa9552e04078f7 + pristine_git_object: bdfcd2f7e1537662a83c6692abed02be52c4c325 docs/models/revokeaccesstokenrequestbody.md: id: 9743951cb27a last_write_checksum: sha1:ecdecfa11853cae4b35244458a5918d385a43ad7 @@ -2553,8 +2561,8 @@ trackedFiles: pristine_git_object: 44ed2b2009393a0047f5c80dba8bfb01a40d51a3 docs/models/subscriptiontypes.md: id: deab3aa152dd - last_write_checksum: sha1:c54ea176540673d870376b2729bc90e2afb9c834 - pristine_git_object: e6a07ad27aea3c887ea39d6370a504319b7d80a0 + last_write_checksum: sha1:f69da17fc229d4232acfadd177a6979c89681475 + pristine_git_object: 7a13ccb4142f0cad28d49262d79216ebf99a3512 docs/models/supportedbenefit.md: id: 10121cd69414 last_write_checksum: sha1:066303e866733f6462d62c4efb8ef5ed2488ab62 @@ -2707,10 +2715,6 @@ trackedFiles: id: 735e09023db8 last_write_checksum: sha1:2768c1e99faaa06debe525d3476b51da605482a2 pristine_git_object: 832a34cec7cdf02debc35c3f77e305219fc36b15 - docs/models/versionheader.md: - id: c8fafc842b14 - last_write_checksum: sha1:8aec81812890d0c1f2b0f12c829f654c155a6f4a - pristine_git_object: 30a125a6a5f7ecab0cc9cb79a147b9796a594f82 docs/models/wagetype.md: id: e58dd2d45e78 last_write_checksum: sha1:100feffe5113e743969234a84133e60ea13f8fd4 @@ -2753,8 +2757,8 @@ trackedFiles: pristine_git_object: dd253a80118e63eb1712df9bf35a74769fa34827 docs/sdks/companies/README.md: id: 67e8a49afa67 - last_write_checksum: sha1:35a7a128858c7990014cbfa3104e35aafca68e8f - pristine_git_object: c426b0be4192bd5eafc0c62998327b079e9f7218 + last_write_checksum: sha1:6362a48464eff22681e2d510a01a5687a7a41b08 + pristine_git_object: 702b94930f7335f1183d69b4317cddc60d69958f docs/sdks/companybenefits/README.md: id: 68640bb09ef2 last_write_checksum: sha1:758cff342d5f3854672f957f42d165077d2d3972 @@ -2769,8 +2773,8 @@ trackedFiles: pristine_git_object: 548b3dce3852db03a0dd9a6ee2ab6842b562169a docs/sdks/contractors/README.md: id: e5de017cf9e6 - last_write_checksum: sha1:9ae0de4ec77a911673c4fe2ef66a0589b2afdef2 - pristine_git_object: b35653ed543e6d6a0c31526fadccccefedaa1b60 + last_write_checksum: sha1:8dd619af4b1d17050a6830aa85865a9c0a49687e + pristine_git_object: 67ee1d53371de4eb860a619c75f0abd5a3cc149e docs/sdks/departments/README.md: id: 12342c54f2cb last_write_checksum: sha1:600c13e704a906e9ca6f82e2102f9f5c64428005 @@ -2793,8 +2797,8 @@ trackedFiles: pristine_git_object: 4896b12228009618eec87f2799102e9850cfbf4a docs/sdks/employees/README.md: id: 3adbd327ce9d - last_write_checksum: sha1:7684f423d9cc04ea13a507eea51b417235b13a12 - pristine_git_object: 0c3a4c7714f6dafb638a1986fb8882c455ac6552 + last_write_checksum: sha1:1abeb1ca6ca8b6c19d0eeab27d66c8a7e7a0eb9d + pristine_git_object: 10da3913ab1883366ca357008daee64a88f48247 docs/sdks/events/README.md: id: cf45a4390b9b last_write_checksum: sha1:ab9bafb7649ad666f3fc9c3a64e4b4090aefbf92 @@ -2805,8 +2809,8 @@ trackedFiles: pristine_git_object: 8d228363dfe51d5ec84fb172fb53d5b7325fff8d docs/sdks/introspection/README.md: id: 9f867af7c1f3 - last_write_checksum: sha1:ca738388419818fd58f812512d147fae6088d468 - pristine_git_object: cd5ae914c04f49b298c14909c36e52d1fa30a613 + last_write_checksum: sha1:716a72a606b4ba780a6fb1e307211d28fcd933eb + pristine_git_object: cd80d31d70e3bb9bb4076663150c7e90ddb298cc docs/sdks/jobs/README.md: id: 7371cdc8b89a last_write_checksum: sha1:64a86ea19102e07773827e232ad867f5c1675a21 @@ -2821,8 +2825,8 @@ trackedFiles: pristine_git_object: 3425ecb2ce0c02eee4de06442826ae079cf97416 docs/sdks/notifications/README.md: id: 271bac956045 - last_write_checksum: sha1:0c53ce30a70d5253a65b5e027bb6db58bf7b2947 - pristine_git_object: 2c8b068484aa60b73244b9860eba1897e7ede1c9 + last_write_checksum: sha1:1d6a91d265185bbaa737b8020e968718801d6fcf + pristine_git_object: c5852d0fdc9966347c284ac3342265e2de80cc44 docs/sdks/payrolls/README.md: id: f6fb115a2746 last_write_checksum: sha1:1da3dbbea1a6db01619d1cd8e143b84699d29578 @@ -2869,8 +2873,8 @@ trackedFiles: pristine_git_object: c00200cfd072e9febac5d6be783da1925d11dac0 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:f8549e187bce5d46fa7875bb763c38416756f3e4 - pristine_git_object: 5197d3d12f6416d755b295b9f712e83e318fa55c + last_write_checksum: sha1:f49a3217fb15c7559c4b8214e256eb3be20e79cb + pristine_git_object: c50e65e051549073603a58cae4a3dd688468cbf9 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:fd760878a66e1d4b15623f81588700e852c71350 @@ -2897,16 +2901,16 @@ trackedFiles: pristine_git_object: ea6b8e2a05a4152c1ba998dd82e8d46c5f60a6ee src/gusto_app_integration_v_2026_06_15/_version.py: id: 7125f40245e3 - last_write_checksum: sha1:aae339bb98d749b9c3465b8df82c2bac7a9b5a4a - pristine_git_object: 4ff174af0e532126c394852db65ce0b974055c4b + last_write_checksum: sha1:b9cdf4540830017c0966f51555a6f17d7b9f012c + pristine_git_object: d566447bfd500a01bdf67ba6ed9968f068aa2ed6 src/gusto_app_integration_v_2026_06_15/basesdk.py: id: 49fdc45d420b last_write_checksum: sha1:a0b6cc69998c1698dd2ec2836ed46e958330cd02 pristine_git_object: fa4b0d28913bd7b57f70005a754ba5a6b02e5f65 src/gusto_app_integration_v_2026_06_15/companies.py: id: ab8cd5453dcf - last_write_checksum: sha1:2916954af5dc6a12896a32d67835dda68dc734a2 - pristine_git_object: d1e4bf4ff5168f0b3b18c19c11da946dac868c9f + last_write_checksum: sha1:41bd94c1bcf08c583659910de2a0c3dbff56ebf4 + pristine_git_object: e88833ba1b9d9d0f0520515239cd291e37d27fe2 src/gusto_app_integration_v_2026_06_15/companybenefits.py: id: 4d79ecff1615 last_write_checksum: sha1:2ab0f8787c2f994c81af037cb132a872ad20f777 @@ -2921,32 +2925,32 @@ trackedFiles: pristine_git_object: f1b2a78554a27c642714cf68d9e7f052a1546c04 src/gusto_app_integration_v_2026_06_15/contractors.py: id: 759f8703e9b7 - last_write_checksum: sha1:bb2f712336c72737be975611f8380c34aae57754 - pristine_git_object: 92f38cde2071c85d96f0c27a5d818383c8d9e660 + last_write_checksum: sha1:5244c102c9de6f0a4666a6fe593e7ec361e4c0b0 + pristine_git_object: 925bfaa21040e9fe1aca9aaed057d021158e5c61 src/gusto_app_integration_v_2026_06_15/departments.py: id: e4f4ddc06fb3 - last_write_checksum: sha1:b9150abe850e84b266276fa936c503675c80cbec - pristine_git_object: 9f51014ff56ba5d7f7ab75bba10688d835cc3ca8 + last_write_checksum: sha1:b644ccb00b630dad1a4e43afeaa7798c733eb9a6 + pristine_git_object: d2702a80250b625a49a6305e30c27b296b7f2dc7 src/gusto_app_integration_v_2026_06_15/earningtypes.py: id: 8733cb91642c last_write_checksum: sha1:bb7ef085e88b5ac160b75e8c33774cae5941db1a pristine_git_object: c5fa0d6382f5871452eb61396e1752fdeb3b15ae src/gusto_app_integration_v_2026_06_15/employeeaddresses.py: id: ca4c7a4077ab - last_write_checksum: sha1:92fb08428abcbed1bc381211025f510b4e4c4b25 - pristine_git_object: b81b494401ba5856e6816b78ddd76a4cd2c90a77 + last_write_checksum: sha1:3e246e18b9eda6298a3c322f3dc9c89d3852a1e0 + pristine_git_object: d30aba566c48e845d04126e365f09518318b6240 src/gusto_app_integration_v_2026_06_15/employeebenefits.py: id: 2bc2e189e2c4 - last_write_checksum: sha1:5dadb3a5b43f497b39da15800a1e474601b82aa4 - pristine_git_object: 9a9c87423eda5c5effd53d41af0e9b8232b1f589 + last_write_checksum: sha1:27890c9959a69bf2152d4212f3d01c23d7712529 + pristine_git_object: a473f8baec4b92e37021bc194e1b1bc79a95f277 src/gusto_app_integration_v_2026_06_15/employeeemployments.py: id: d4186df89a03 last_write_checksum: sha1:db4e66b561447b029607717e92c8c76d194928a9 pristine_git_object: 5c32f6119c664082d7411ca3545609d38df5451c src/gusto_app_integration_v_2026_06_15/employees.py: id: 7b4c874005b1 - last_write_checksum: sha1:b23b156a2e0b9b08c691aff87623f85abb5b9573 - pristine_git_object: 68064887984c98081c49b25e7a92b9f9f7291ab8 + last_write_checksum: sha1:82368592785a4109d0e3dc309cc5d60d259259cf + pristine_git_object: cbc4ec0d6faa26366118d3ea8f36c3d098551a1d src/gusto_app_integration_v_2026_06_15/events.py: id: 8d5d766b05a8 last_write_checksum: sha1:8d767f3e31d8211ddebd87ff7a4be1d32f5cbe5e @@ -2961,8 +2965,8 @@ trackedFiles: pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/gusto_app_integration_v_2026_06_15/introspection.py: id: 83a8eab260b0 - last_write_checksum: sha1:207ce758f3c5b6c978aa093dad7fb93b6ed4f3cf - pristine_git_object: 3ea039ac8ce0b90bdf1028085e7fc971ea9af377 + last_write_checksum: sha1:f06ca19609fcff8bb6eae3bfb36f9bb9ae0ae83b + pristine_git_object: b866138ed732a33b23dfd625e1540d56253a5b32 src/gusto_app_integration_v_2026_06_15/jobs.py: id: d579fd960852 last_write_checksum: sha1:70d2087bd2504bbf8cc2a96f9183036c48acdcc3 @@ -2973,12 +2977,12 @@ trackedFiles: pristine_git_object: 3cea69ebb2bb0ee275eae1a20bb5039323b624a6 src/gusto_app_integration_v_2026_06_15/locations.py: id: e729225774ce - last_write_checksum: sha1:de95ad72c2a360d6b670470f1ecc68d8d33bfa00 - pristine_git_object: 87a12534397941f271db483773c579c6b729b5fb + last_write_checksum: sha1:7eb79c0e09956d98232e264a224c8ee7d13ac6ad + pristine_git_object: b55f3c6b8be0704e974961fd395e2fb434985c06 src/gusto_app_integration_v_2026_06_15/models/__init__.py: id: 93d475d2a4f2 - last_write_checksum: sha1:35f61963633f942870bdf78ebc5ee7ed8e181429 - pristine_git_object: 9d75f37da07f6652ca0a93b40c712f657df6ebf6 + last_write_checksum: sha1:40126118a7f907027b0e072c4423c52d1c2709d7 + pristine_git_object: d12684c3edfafbf08e22e61e49aa0904bee80466 src/gusto_app_integration_v_2026_06_15/models/admin.py: id: 9fb628eac6ad last_write_checksum: sha1:1585403bac47a53b6a55bab137a26123296105ae @@ -3289,8 +3293,8 @@ trackedFiles: pristine_git_object: 60175bddcd6b4ffa1d2bc5800a6eee30399f2a2c src/gusto_app_integration_v_2026_06_15/models/get_company_notificationsop.py: id: 1f690dc53305 - last_write_checksum: sha1:33f094707462abfd8e96fdcce55b1fb2b30b7bbd - pristine_git_object: cbd3a99c2ebb33eb897d69031c71662d51e4874a + last_write_checksum: sha1:f28cd2e4a07c86d89aa5440c1354ec1020959c6b + pristine_git_object: 712de2832c3cc317f9b719976a6d37caedc93a5b src/gusto_app_integration_v_2026_06_15/models/get_departmentop.py: id: 6948d8a3edd1 last_write_checksum: sha1:36c413aff93737b5c428fa28893085b9962935ee @@ -3349,8 +3353,8 @@ trackedFiles: pristine_git_object: 3d503587225a1509857e6e2bed21f383dc83316c src/gusto_app_integration_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py: id: 73f8ff42f355 - last_write_checksum: sha1:9766a500fe88ac3ba2a32403e806f3fd26924c61 - pristine_git_object: 9a281c4d0204d65ef0a4153b3c43a5e69bb810be + last_write_checksum: sha1:17b125a8258f2f707f2769e96fb66067b1483025 + pristine_git_object: fec079c88dab8a8b1b0d5927ae5190e18a91e8e8 src/gusto_app_integration_v_2026_06_15/models/get_v1_companies_company_id_custom_fieldsop.py: id: 92e064971d98 last_write_checksum: sha1:b327a7a2b2adbb39b8e8e4ccf792e34fce1ca885 @@ -3437,8 +3441,8 @@ trackedFiles: pristine_git_object: 6731251c1679c8d866b8013b3549de8db2765ca0 src/gusto_app_integration_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py: id: 928f3e8b3919 - last_write_checksum: sha1:ac3d02c45d853f58b5d23baf393b7860ec98c28b - pristine_git_object: 8e4b14b40114a7b1f1c53bba5fd6f7d072a90465 + last_write_checksum: sha1:14197dc6e9402d5796c3293d040d39697f26efc0 + pristine_git_object: 6658f0a7c4ad2e0bea922dcbdb3fe31d4478fbc4 src/gusto_app_integration_v_2026_06_15/models/get_v1_employees_employee_id_employee_benefitsop.py: id: 929bca99bac8 last_write_checksum: sha1:573d6d05dcf4173f886bfe1dcdfa0a994c1af3aa @@ -3809,16 +3813,16 @@ trackedFiles: pristine_git_object: 1f84a3d4dd54bc4bdb3c5c6c179fa367a57b71ae src/gusto_app_integration_v_2026_06_15/models/post_v1_provisionop.py: id: c8c15f94918c - last_write_checksum: sha1:4ee45ca1daee5dc83a18727ca12e9104e7f30f6a - pristine_git_object: 8feff4b57ac10ce235d946b65928847d49465f30 + last_write_checksum: sha1:c35410c5e13dc5027c5b3b65133ef41467955e3d + pristine_git_object: 5ff098e81cb5228b38f7ecf2de8d13c5b344dc33 src/gusto_app_integration_v_2026_06_15/models/post_v1_salary_estimates_uuid_acceptop.py: id: 295c9a9e6435 last_write_checksum: sha1:9c44ef9f273e65e953e7a1283af28742e25a33c9 pristine_git_object: 88c2ae8b27f8ad4c53db0afad17401ad5bbb4cf5 src/gusto_app_integration_v_2026_06_15/models/post_v1_webhook_subscriptionop.py: id: 91d178e984e0 - last_write_checksum: sha1:f0ee6e827baf22cc02737c6d25b90ceebf42d03d - pristine_git_object: 104fbc8033aa1b4306be224e9754bc89847be18b + last_write_checksum: sha1:9ee270eb1dd23a852e06487b93f47447b2da31fe + pristine_git_object: 6dd17810f7183829ffbff55463d201934f78100f src/gusto_app_integration_v_2026_06_15/models/provision_create_request_body.py: id: 902b49156af1 last_write_checksum: sha1:542347775e9e9e3cbde53e68d66a1706e3b7ab8b @@ -3925,8 +3929,8 @@ trackedFiles: pristine_git_object: efc57eaf7f97e4d9f9b233ac5bef59d57f42c41c src/gusto_app_integration_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py: id: dec1c64e6c54 - last_write_checksum: sha1:585894e658ab0107dbff60811249631e0fe1016f - pristine_git_object: a04970dde57a6cb4bee112e928650ba2baf4bace + last_write_checksum: sha1:df3bc3c84cb52ba8faa55c4c113edf468eee54cc + pristine_git_object: 20801e9df56360ec26ac55c3f153f71d805ca19e src/gusto_app_integration_v_2026_06_15/models/put_v1_work_addresses_work_address_uuidop.py: id: 8cad4620e77e last_write_checksum: sha1:ac4ff363327bfd8e2333e82777302a233be39147 @@ -3961,8 +3965,8 @@ trackedFiles: pristine_git_object: bad79f4fdcaa9ec0ad4afd1e81868297983ab744 src/gusto_app_integration_v_2026_06_15/models/revoke_access_tokenop.py: id: 25fe1da72aa4 - last_write_checksum: sha1:d6c9c85c5e3ebe61635d51c12a3bdfee96a6b99b - pristine_git_object: c0a3a1c65d7cb16ce32bde9f1a01f3202b305a2e + last_write_checksum: sha1:2ae257f8cc965564eeab8e7d254f0344ee3c40a0 + pristine_git_object: 5ace521f1f3e416bf3c770bb79ae37cf30130380 src/gusto_app_integration_v_2026_06_15/models/salary_estimate.py: id: 4b86745da179 last_write_checksum: sha1:b83a51d95b6059c94e6f89ee542e9bd715b03306 @@ -4023,14 +4027,10 @@ trackedFiles: id: a2d1edc98acf last_write_checksum: sha1:2b417e2f2105c147810bb689ac03c5f05889cd34 pristine_git_object: 906b98391890d567a4938941a12acaf03f2c1b82 - src/gusto_app_integration_v_2026_06_15/models/versionheader.py: - id: 54dfa4475ddc - last_write_checksum: sha1:c6c3d2fe64b1e1203c9bfc5d82157c43485fdab7 - pristine_git_object: 39bb6cb724d35a493d61915ce3fefedd910704b0 src/gusto_app_integration_v_2026_06_15/models/webhook_subscription.py: id: f343c226676f - last_write_checksum: sha1:fad34c521d4fcc7d416763a9060c2cf4e8765fc7 - pristine_git_object: 9e83f0919dc1fc1b06ee21b39e7f1060db96d0a0 + last_write_checksum: sha1:40164f44aafdd0e9d9b6824f7790d0f628d13fca + pristine_git_object: 35e8a1eeadfb8ac2975c598da6979fe29f9f423d src/gusto_app_integration_v_2026_06_15/models/webhook_verification_token_response.py: id: 544076f17d52 last_write_checksum: sha1:a40eccab141172234dd8a33cc5a80f8c1e5ffd51 @@ -4049,12 +4049,12 @@ trackedFiles: pristine_git_object: 2b287cb980da9773beaea000ae274d34be5a5253 src/gusto_app_integration_v_2026_06_15/notifications.py: id: dbd79c4afd0d - last_write_checksum: sha1:78811fe00a37b8aa4e3c11a1453218812dcca2b0 - pristine_git_object: 1a54a2308d926a0053394ca62d83600438ad4d48 + last_write_checksum: sha1:8fb59595cac0baac93224ed40b4d7873fd7caf7d + pristine_git_object: b7c6baad5c874124d6b6383cb9cf36956f634162 src/gusto_app_integration_v_2026_06_15/payrolls.py: id: bf08f5befee2 - last_write_checksum: sha1:a3bc17bce396f35fff5b0c87ee7fa62ec450a290 - pristine_git_object: 4003bd5191317b6afa64e7e581ab53e6df68c531 + last_write_checksum: sha1:143850ba6e28167ddf1b315f0c6521b177cc4859 + pristine_git_object: 6acecd8a329dd3d152181c95409baffeeb95b37a src/gusto_app_integration_v_2026_06_15/payschedules.py: id: 6063d076cca0 last_write_checksum: sha1:816f630cd25b630afba1afae2f6cce41fb93abf5 @@ -4185,8 +4185,8 @@ trackedFiles: pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3 src/gusto_app_integration_v_2026_06_15/webhooks.py: id: fe7b115371af - last_write_checksum: sha1:66f3cc546775add1192288d91469f005095b0a8a - pristine_git_object: 12c529c2129a8510c8d6a20c3c95300a8ee85127 + last_write_checksum: sha1:ecf806033cf721397f774ed8de1a4a0d0d500d1f + pristine_git_object: a2dc1f478fd706c7f851b3df945939f3589e2ac4 examples: get-v1-companies-company_id-admins: speakeasy-default-get-v1-companies-company-id-admins: @@ -6023,3 +6023,4 @@ examples: "200": application/json: {} examplesVersion: 1.0.2 +releaseNotes: "## Python SDK Changes:\n* `gusto_app_integration.companies.provision()`: `request.x_gusto_api_version` **Changed**\n* `gusto_app_integration.introspection.revoke()`: `request.x_gusto_api_version` **Changed**\n* `gusto_app_integration.webhooks.list_subscriptions()`: `response.[].subscription_types[].enum(time_off_request)` **Added**\n* `gusto_app_integration.webhooks.create()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added**\n* `gusto_app_integration.webhooks.get_subscription()`: `response.subscription_types[].enum(time_off_request)` **Added**\n* `gusto_app_integration.webhooks.update_subscription()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added**\n* `gusto_app_integration.webhooks.verify()`: `response.subscription_types[].enum(time_off_request)` **Added**\n" diff --git a/gusto_app_int_v_2026_06_15/.speakeasy/gen.yaml b/gusto_app_int_v_2026_06_15/.speakeasy/gen.yaml index 12d4bc65..f3aba1bd 100644 --- a/gusto_app_int_v_2026_06_15/.speakeasy/gen.yaml +++ b/gusto_app_int_v_2026_06_15/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false python: - version: 0.0.1 + version: 0.0.2 additionalDependencies: dev: {} main: {} @@ -84,6 +84,7 @@ python: preApplyUnionDiscriminators: true pytestFilterWarnings: [] pytestTimeout: 0 + rawResponseHelpers: false responseFormat: flat sseFlatResponse: false templateVersion: v2 diff --git a/gusto_app_int_v_2026_06_15/README-PYPI.md b/gusto_app_int_v_2026_06_15/README-PYPI.md index 1ff0b679..d8b4ce6d 100644 --- a/gusto_app_int_v_2026_06_15/README-PYPI.md +++ b/gusto_app_int_v_2026_06_15/README-PYPI.md @@ -205,7 +205,7 @@ with GustoAppIntegration() as gusto_app_integration: "email": "Fred_Durgan@yahoo.com", }, company={ "name": "", - }, x_gusto_api_version=gusto_app_integration_v_2026_06_15.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + }, x_gusto_api_version=gusto_app_integration_v_2026_06_15.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) # Handle response print(res) diff --git a/gusto_app_int_v_2026_06_15/README.md b/gusto_app_int_v_2026_06_15/README.md index 2e2f452c..1246e89c 100644 --- a/gusto_app_int_v_2026_06_15/README.md +++ b/gusto_app_int_v_2026_06_15/README.md @@ -205,7 +205,7 @@ with GustoAppIntegration() as gusto_app_integration: "email": "Fred_Durgan@yahoo.com", }, company={ "name": "", - }, x_gusto_api_version=gusto_app_integration_v_2026_06_15.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + }, x_gusto_api_version=gusto_app_integration_v_2026_06_15.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) # Handle response print(res) diff --git a/gusto_app_int_v_2026_06_15/docs/models/deletedepartmentrequest.md b/gusto_app_int_v_2026_06_15/docs/models/deletedepartmentrequest.md index fa5403d9..5e11e97f 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/deletedepartmentrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/deletedepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md index b44156c9..3b1cbfd9 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md index e21c51ef..103375b8 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md index 0ec638e3..d598309d 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getcompanynotificationsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getcompanynotificationsrequest.md index 637a1ff0..b870aa17 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getcompanynotificationsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getcompanynotificationsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | | `status` | [Optional[models.QueryParamStatus]](../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | -| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getdepartmentrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getdepartmentrequest.md index 8db1cf92..23a6159c 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getdepartmentrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getdepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md index 0d986047..3e6b39b9 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | -| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md index 437f96d4..bc90ad86 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `include` | List[[models.GetV1CompaniesCompanyIDPayrollsPayrollIDQueryParamInclude](../models/getv1companiescompanyidpayrollspayrollidqueryparaminclude.md)] | :heavy_minus_sign: | Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` | | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md index 92805c22..fed93555 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `processing_statuses` | List[[models.ProcessingStatuses](../models/processingstatuses.md)] | :heavy_minus_sign: | Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` | | | `payroll_types` | List[[models.QueryParamPayrollTypes](../models/queryparampayrolltypes.md)] | :heavy_minus_sign: | Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` | | | `processed` | *Optional[bool]* | :heavy_minus_sign: | Whether to return processed or unprocessed payrolls | | diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1companiesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1companiesrequest.md index ddf4598f..4a4c0132 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1companiesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1companiesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md index ad3665fe..dd48aea7 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md index 25bcddc3..50cef7ab 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md index 00b143d5..93254bf5 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index 098f64ea..2d27a7de 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md index de8d6594..743bef62 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md index 654451d4..fd27eac5 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | -| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md index 12dc5397..7b94700f 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `x_gusto_api_version` | [Optional[models.GetV1LocationsLocationUUIDMinimumWagesHeaderXGustoAPIVersion]](../models/getv1locationslocationuuidminimumwagesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `effective_date` | *Optional[str]* | :heavy_minus_sign: | N/A | 2020-01-31 | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md index 1668e8ab..227e3d31 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md index 9f8ff4ca..4fabc561 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md index 7888f203..93b1aabd 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_app_int_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index f1af0ad5..1571ce7d 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `body` | [models.EmployeeSection603HighEarnerStatusUpdateRequest](../models/employeesection603highearnerstatusupdaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postdepartmentsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/postdepartmentsrequest.md index b200ce25..6cabc424 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/postdepartmentsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/postdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostDepartmentsHeaderXGustoAPIVersion]](../models/postdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.DepartmentCreateRequestBody](../models/departmentcreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md index 1835d193..482a8182 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody](../models/postv1employeesemployeeidhomeaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md index 2e4dca51..077c3a6f 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody](../models/postv1employeesemployeeidworkaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md index 04d29ebe..3f15857a 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.EmployeeSection603HighEarnerStatusCreateRequest](../models/employeesection603highearnerstatuscreaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postv1provisionheaderxgustoapiversion.md b/gusto_app_int_v_2026_06_15/docs/models/postv1provisionheaderxgustoapiversion.md new file mode 100644 index 00000000..579945de --- /dev/null +++ b/gusto_app_int_v_2026_06_15/docs/models/postv1provisionheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# PostV1ProvisionHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_app_integration_v_2026_06_15.models import PostV1ProvisionHeaderXGustoAPIVersion + +value = PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ----------------------------------------------- | ----------------------------------------------- | +| `TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15` | 2026-06-15 | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postv1provisionrequest.md b/gusto_app_int_v_2026_06_15/docs/models/postv1provisionrequest.md index 21878f76..07701fec 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/postv1provisionrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/postv1provisionrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.PostV1ProvisionHeaderXGustoAPIVersion]](../models/postv1provisionheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `body` | [models.ProvisionCreateRequestBody](../models/provisioncreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md b/gusto_app_int_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md index 6a7644a1..bd179e59 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md +++ b/gusto_app_int_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PostV1WebhookSubscriptionSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md index 9be03f3f..00b4b744 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutAddPeopleToDepartmentHeaderXGustoAPIVersion]](../models/putaddpeopletodepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putdepartmentsrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putdepartmentsrequest.md index fff7a201..edd8b60f 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putdepartmentsrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutDepartmentsHeaderXGustoAPIVersion]](../models/putdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `body` | [models.DepartmentUpdateRequestBody](../models/departmentupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md index 10465483..b46ad9fd 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutRemovePeopleFromDepartmentHeaderXGustoAPIVersion]](../models/putremovepeoplefromdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putv1companiesrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putv1companiesrequest.md index dbbbdf00..c672f1e8 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putv1companiesrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putv1companiesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1CompaniesHeaderXGustoAPIVersion]](../models/putv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PutV1CompaniesRequestBody](../models/putv1companiesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md index f58c26ec..0a19b2e6 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1VerifyWebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1verifywebhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `body` | [models.PutV1VerifyWebhookSubscriptionUUIDRequestBody](../models/putv1verifywebhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md index 5c099288..56c0a7ed 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `body` | [models.PutV1WebhookSubscriptionUUIDRequestBody](../models/putv1webhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md b/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md index 39317674..1d4be353 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PutV1WebhookSubscriptionUUIDSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md b/gusto_app_int_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md index 68a6e593..3daa2c11 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `x_gusto_api_version` | [Optional[models.PutV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `body` | [models.PutV1WorkAddressesWorkAddressUUIDRequestBody](../models/putv1workaddressesworkaddressuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenheaderxgustoapiversion.md b/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenheaderxgustoapiversion.md new file mode 100644 index 00000000..6ad165f7 --- /dev/null +++ b/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# RevokeAccessTokenHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_app_integration_v_2026_06_15.models import RevokeAccessTokenHeaderXGustoAPIVersion + +value = RevokeAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ----------------------------------------------- | ----------------------------------------------- | +| `TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15` | 2026-06-15 | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenrequest.md b/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenrequest.md index a1e22682..bdfcd2f7 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenrequest.md +++ b/gusto_app_int_v_2026_06_15/docs/models/revokeaccesstokenrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.RevokeAccessTokenHeaderXGustoAPIVersion]](../models/revokeaccesstokenheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `body` | [models.RevokeAccessTokenRequestBody](../models/revokeaccesstokenrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/subscriptiontypes.md b/gusto_app_int_v_2026_06_15/docs/models/subscriptiontypes.md index e6a07ad2..7a13ccb4 100644 --- a/gusto_app_int_v_2026_06_15/docs/models/subscriptiontypes.md +++ b/gusto_app_int_v_2026_06_15/docs/models/subscriptiontypes.md @@ -30,4 +30,5 @@ value = SubscriptionTypes.BANK_ACCOUNT | `PAYROLL` | Payroll | | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/models/versionheader.md b/gusto_app_int_v_2026_06_15/docs/models/versionheader.md deleted file mode 100644 index 30a125a6..00000000 --- a/gusto_app_int_v_2026_06_15/docs/models/versionheader.md +++ /dev/null @@ -1,16 +0,0 @@ -# VersionHeader - -## Example Usage - -```python -from gusto_app_integration_v_2026_06_15.models import VersionHeader - -value = VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 -``` - - -## Values - -| Name | Value | -| ----------------------------------------------- | ----------------------------------------------- | -| `TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15` | 2026-06-15 | \ No newline at end of file diff --git a/gusto_app_int_v_2026_06_15/docs/sdks/companies/README.md b/gusto_app_int_v_2026_06_15/docs/sdks/companies/README.md index c426b0be..702b9493 100644 --- a/gusto_app_int_v_2026_06_15/docs/sdks/companies/README.md +++ b/gusto_app_int_v_2026_06_15/docs/sdks/companies/README.md @@ -234,7 +234,7 @@ with GustoAppIntegration() as gusto_app_integration: "email": "Fred_Durgan@yahoo.com", }, company={ "name": "", - }, x_gusto_api_version=gusto_app_integration_v_2026_06_15.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + }, x_gusto_api_version=gusto_app_integration_v_2026_06_15.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) # Handle response print(res) @@ -248,7 +248,7 @@ with GustoAppIntegration() as gusto_app_integration: | `security` | [models.PostV1ProvisionSecurity](../../models/postv1provisionsecurity.md) | :heavy_check_mark: | N/A | | `user` | [models.User](../../models/user.md) | :heavy_check_mark: | Information for the user who will be the primary payroll administrator for the new company. | | `company` | [models.ProvisionCreateRequestBodyCompany](../../models/provisioncreaterequestbodycompany.md) | :heavy_check_mark: | N/A | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.PostV1ProvisionHeaderXGustoAPIVersion]](../../models/postv1provisionheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int_v_2026_06_15/docs/sdks/contractors/README.md b/gusto_app_int_v_2026_06_15/docs/sdks/contractors/README.md index b35653ed..67ee1d53 100644 --- a/gusto_app_int_v_2026_06_15/docs/sdks/contractors/README.md +++ b/gusto_app_int_v_2026_06_15/docs/sdks/contractors/README.md @@ -64,9 +64,9 @@ with GustoAppIntegration( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | | `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int_v_2026_06_15/docs/sdks/employees/README.md b/gusto_app_int_v_2026_06_15/docs/sdks/employees/README.md index 0c3a4c77..10da3913 100644 --- a/gusto_app_int_v_2026_06_15/docs/sdks/employees/README.md +++ b/gusto_app_int_v_2026_06_15/docs/sdks/employees/README.md @@ -43,9 +43,9 @@ with GustoAppIntegration( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_app_int_v_2026_06_15/docs/sdks/introspection/README.md b/gusto_app_int_v_2026_06_15/docs/sdks/introspection/README.md index cd5ae914..cd80d31d 100644 --- a/gusto_app_int_v_2026_06_15/docs/sdks/introspection/README.md +++ b/gusto_app_int_v_2026_06_15/docs/sdks/introspection/README.md @@ -67,7 +67,7 @@ from gusto_app_integration_v_2026_06_15 import GustoAppIntegration with GustoAppIntegration() as gusto_app_integration: - gusto_app_integration.introspection.revoke(client_id="", client_secret="", token="", x_gusto_api_version=gusto_app_integration_v_2026_06_15.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + gusto_app_integration.introspection.revoke(client_id="", client_secret="", token="", x_gusto_api_version=gusto_app_integration_v_2026_06_15.RevokeAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) # Use the SDK ... @@ -80,7 +80,7 @@ with GustoAppIntegration() as gusto_app_integration: | `client_id` | *str* | :heavy_check_mark: | Your client id | | `client_secret` | *str* | :heavy_check_mark: | Your client secret | | `token` | *str* | :heavy_check_mark: | The access token that will be revoked. | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.RevokeAccessTokenHeaderXGustoAPIVersion]](../../models/revokeaccesstokenheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Errors diff --git a/gusto_app_int_v_2026_06_15/docs/sdks/notifications/README.md b/gusto_app_int_v_2026_06_15/docs/sdks/notifications/README.md index 2c8b0684..c5852d0f 100644 --- a/gusto_app_int_v_2026_06_15/docs/sdks/notifications/README.md +++ b/gusto_app_int_v_2026_06_15/docs/sdks/notifications/README.md @@ -36,8 +36,8 @@ with GustoAppIntegration( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | -| `status` | [Optional[models.QueryParamStatus]](../../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | | `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `status` | [Optional[models.QueryParamStatus]](../../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | diff --git a/gusto_app_int_v_2026_06_15/pyproject.toml b/gusto_app_int_v_2026_06_15/pyproject.toml index 5197d3d1..c50e65e0 100644 --- a/gusto_app_int_v_2026_06_15/pyproject.toml +++ b/gusto_app_int_v_2026_06_15/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "gusto_app_integration_v_2026_06_15" -version = "0.0.1" +version = "0.0.2" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/_version.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/_version.py index 4ff174af..d566447b 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/_version.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/_version.py @@ -3,11 +3,11 @@ import importlib.metadata __title__: str = "gusto_app_integration_v_2026_06_15" -__version__: str = "0.0.1" +__version__: str = "0.0.2" __openapi_doc_version__: str = "2026-06-15" -__gen_version__: str = "2.892.1" +__gen_version__: str = "2.893.0" __user_agent__: str = ( - "speakeasy-sdk/python 0.0.1 2.892.1 2026-06-15 gusto_app_integration_v_2026_06_15" + "speakeasy-sdk/python 0.0.2 2.893.0 2026-06-15 gusto_app_integration_v_2026_06_15" ) try: diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/companies.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/companies.py index d1e4bf4f..e88833ba 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/companies.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/companies.py @@ -261,8 +261,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -363,8 +363,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -463,8 +463,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -574,8 +574,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -865,8 +865,8 @@ def provision( models.ProvisionCreateRequestBodyCompanyTypedDict, ], x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + models.PostV1ProvisionHeaderXGustoAPIVersion + ] = models.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -991,8 +991,8 @@ async def provision_async( models.ProvisionCreateRequestBodyCompanyTypedDict, ], x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + models.PostV1ProvisionHeaderXGustoAPIVersion + ] = models.PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/contractors.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/contractors.py index 92f38cde..925bfaa2 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/contractors.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/contractors.py @@ -15,11 +15,11 @@ def get_v1_companies_company_id_contractors_payment_details( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -58,9 +58,9 @@ def get_v1_companies_company_id_contractors_payment_details( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -77,10 +77,10 @@ def get_v1_companies_company_id_contractors_payment_details( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -145,11 +145,11 @@ async def get_v1_companies_company_id_contractors_payment_details_async( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -188,9 +188,9 @@ async def get_v1_companies_company_id_contractors_payment_details_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -207,10 +207,10 @@ async def get_v1_companies_company_id_contractors_payment_details_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/departments.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/departments.py index 9f51014f..d2702a80 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/departments.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/departments.py @@ -49,8 +49,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -147,8 +147,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -249,8 +249,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -368,8 +368,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -483,8 +483,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -586,8 +586,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -705,8 +705,8 @@ def add_people( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -838,8 +838,8 @@ async def add_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -971,8 +971,8 @@ def remove_people( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1104,8 +1104,8 @@ async def remove_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1221,8 +1221,8 @@ def get_all( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -1319,8 +1319,8 @@ async def get_all_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -1419,8 +1419,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.DepartmentCreateRequestBody( title=title, ), @@ -1530,8 +1530,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.DepartmentCreateRequestBody( title=title, ), diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeeaddresses.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeeaddresses.py index b81b4944..d30aba56 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeeaddresses.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeeaddresses.py @@ -52,8 +52,8 @@ def list_home_addresses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -152,8 +152,8 @@ async def list_home_addresses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -266,8 +266,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -401,8 +401,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -522,8 +522,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request( @@ -622,8 +622,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request_async( @@ -1203,8 +1203,8 @@ def get_work_addresses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -1302,8 +1302,8 @@ async def get_work_addresses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -1404,8 +1404,8 @@ def create_work_address( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1522,8 +1522,8 @@ async def create_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1636,8 +1636,8 @@ def get_work_address( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -1734,8 +1734,8 @@ async def get_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( @@ -1838,8 +1838,8 @@ def update_work_address( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -1959,8 +1959,8 @@ async def update_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -2074,8 +2074,8 @@ def delete_work_address( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -2177,8 +2177,8 @@ async def delete_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeebenefits.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeebenefits.py index 9a9c8742..a473f8ba 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeebenefits.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employeebenefits.py @@ -1867,8 +1867,8 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request( @@ -1970,8 +1970,8 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request_async( @@ -2077,8 +2077,8 @@ def post_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, body=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2200,8 +2200,8 @@ async def post_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, body=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2321,9 +2321,9 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_yea base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2432,9 +2432,9 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_effecti base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2545,9 +2545,9 @@ def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_y base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, body=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), @@ -2668,9 +2668,9 @@ async def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effec base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, body=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employees.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employees.py index 68064887..cbc4ec0d 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employees.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/employees.py @@ -16,11 +16,11 @@ def get_custom_fields( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -35,9 +35,9 @@ def get_custom_fields( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -54,10 +54,10 @@ def get_custom_fields( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -120,11 +120,11 @@ async def get_custom_fields_async( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -139,9 +139,9 @@ async def get_custom_fields_async( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -158,10 +158,10 @@ async def get_custom_fields_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/introspection.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/introspection.py index 3ea039ac..b866138e 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/introspection.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/introspection.py @@ -230,8 +230,8 @@ def revoke( client_secret: str, token: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + models.RevokeAccessTokenHeaderXGustoAPIVersion + ] = models.RevokeAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -327,8 +327,8 @@ async def revoke_async( client_secret: str, token: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + models.RevokeAccessTokenHeaderXGustoAPIVersion + ] = models.RevokeAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/locations.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/locations.py index 87a12534..b55f3c6b 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/locations.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/locations.py @@ -51,8 +51,8 @@ def get_minimum_wages( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) @@ -152,8 +152,8 @@ async def get_minimum_wages_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/__init__.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/__init__.py index 9d75f37d..d12684c3 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/__init__.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/__init__.py @@ -1196,6 +1196,7 @@ PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequestTypedDict, ) from .post_v1_provisionop import ( + PostV1ProvisionHeaderXGustoAPIVersion, PostV1ProvisionRequest, PostV1ProvisionRequestTypedDict, PostV1ProvisionSecurity, @@ -1413,6 +1414,7 @@ from .report import Report, ReportTypedDict from .responsevalidationerror import ResponseValidationError from .revoke_access_tokenop import ( + RevokeAccessTokenHeaderXGustoAPIVersion, RevokeAccessTokenRequest, RevokeAccessTokenRequestBody, RevokeAccessTokenRequestBodyTypedDict, @@ -1511,7 +1513,6 @@ UpdateGarnishmentRequestGarnishmentType, UpdateGarnishmentRequestTypedDict, ) - from .versionheader import VersionHeader from .webhook_subscription import ( SubscriptionTypes, WebhookSubscription, @@ -2349,6 +2350,7 @@ "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursHeaderXGustoAPIVersion", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequest", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequestTypedDict", + "PostV1ProvisionHeaderXGustoAPIVersion", "PostV1ProvisionRequest", "PostV1ProvisionRequestTypedDict", "PostV1ProvisionSecurity", @@ -2525,6 +2527,7 @@ "Resources", "ResourcesTypedDict", "ResponseValidationError", + "RevokeAccessTokenHeaderXGustoAPIVersion", "RevokeAccessTokenRequest", "RevokeAccessTokenRequestBody", "RevokeAccessTokenRequestBodyTypedDict", @@ -2616,7 +2619,6 @@ "ValueTiers", "ValueTiersTypedDict", "ValueTypedDict", - "VersionHeader", "WageType", "WebhookSubscription", "WebhookSubscriptionStatus", @@ -3482,6 +3484,7 @@ "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursHeaderXGustoAPIVersion": ".post_v1_payrolls_payroll_id_calculate_accruing_time_off_hoursop", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequest": ".post_v1_payrolls_payroll_id_calculate_accruing_time_off_hoursop", "PostV1PayrollsPayrollIDCalculateAccruingTimeOffHoursRequestTypedDict": ".post_v1_payrolls_payroll_id_calculate_accruing_time_off_hoursop", + "PostV1ProvisionHeaderXGustoAPIVersion": ".post_v1_provisionop", "PostV1ProvisionRequest": ".post_v1_provisionop", "PostV1ProvisionRequestTypedDict": ".post_v1_provisionop", "PostV1ProvisionSecurity": ".post_v1_provisionop", @@ -3639,6 +3642,7 @@ "Report": ".report", "ReportTypedDict": ".report", "ResponseValidationError": ".responsevalidationerror", + "RevokeAccessTokenHeaderXGustoAPIVersion": ".revoke_access_tokenop", "RevokeAccessTokenRequest": ".revoke_access_tokenop", "RevokeAccessTokenRequestBody": ".revoke_access_tokenop", "RevokeAccessTokenRequestBodyTypedDict": ".revoke_access_tokenop", @@ -3715,7 +3719,6 @@ "UpdateGarnishmentRequest": ".update_garnishment_request", "UpdateGarnishmentRequestGarnishmentType": ".update_garnishment_request", "UpdateGarnishmentRequestTypedDict": ".update_garnishment_request", - "VersionHeader": ".versionheader", "SubscriptionTypes": ".webhook_subscription", "WebhookSubscription": ".webhook_subscription", "WebhookSubscriptionStatus": ".webhook_subscription", diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_company_notificationsop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_company_notificationsop.py index cbd3a99c..712de283 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_company_notificationsop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_company_notificationsop.py @@ -15,24 +15,24 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class QueryParamStatus(str, Enum): - OPEN = "open" - EXPIRED = "expired" - RESOLVED = "resolved" - - class GetCompanyNotificationsHeaderXGustoAPIVersion(str, Enum): r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" +class QueryParamStatus(str, Enum): + OPEN = "open" + EXPIRED = "expired" + RESOLVED = "resolved" + + class GetCompanyNotificationsRequestTypedDict(TypedDict): company_uuid: str r"""The UUID of the company for which you would like to return notifications""" - status: NotRequired[QueryParamStatus] x_gusto_api_version: NotRequired[GetCompanyNotificationsHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: NotRequired[QueryParamStatus] page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] @@ -45,11 +45,6 @@ class GetCompanyNotificationsRequest(BaseModel): ] r"""The UUID of the company for which you would like to return notifications""" - status: Annotated[ - Optional[QueryParamStatus], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - x_gusto_api_version: Annotated[ Optional[GetCompanyNotificationsHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -57,6 +52,11 @@ class GetCompanyNotificationsRequest(BaseModel): ] = GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: Annotated[ + Optional[QueryParamStatus], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -71,7 +71,7 @@ class GetCompanyNotificationsRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["status", "X-Gusto-API-Version", "page", "per"]) + optional_fields = set(["X-Gusto-API-Version", "status", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py index 9a281c4d..fec079c8 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py @@ -24,14 +24,14 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion(str class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" - contractor_uuid: NotRequired[str] - r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" - contractor_payment_group_uuid: NotRequired[str] - r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" x_gusto_api_version: NotRequired[ GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: NotRequired[str] + r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" + contractor_payment_group_uuid: NotRequired[str] + r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): @@ -40,6 +40,15 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" + x_gusto_api_version: Annotated[ + Optional[ + GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion + ], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: Annotated[ Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,19 +61,10 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] = None r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" - x_gusto_api_version: Annotated[ - Optional[ - GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion - ], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["contractor_uuid", "contractor_payment_group_uuid", "X-Gusto-API-Version"] + ["X-Gusto-API-Version", "contractor_uuid", "contractor_payment_group_uuid"] ) serialized = handler(self) m = {} diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py index 8e4b14b4..6658f0a7 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py @@ -24,14 +24,14 @@ class GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion(str, Enum): class GetV1EmployeesEmployeeIDCustomFieldsRequestTypedDict(TypedDict): employee_id: str r"""The UUID of the employee""" - page: NotRequired[int] - r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" - per: NotRequired[int] - r"""Number of objects per page. For majority of endpoints will default to 25""" x_gusto_api_version: NotRequired[ GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: NotRequired[int] + r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" + per: NotRequired[int] + r"""Number of objects per page. For majority of endpoints will default to 25""" class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): @@ -40,6 +40,13 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] r"""The UUID of the employee""" + x_gusto_api_version: Annotated[ + Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,16 +59,9 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_provisionop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_provisionop.py index 8feff4b5..5ff098e8 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_provisionop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_provisionop.py @@ -5,7 +5,7 @@ ProvisionCreateRequestBody, ProvisionCreateRequestBodyTypedDict, ) -from .versionheader import VersionHeader +from enum import Enum from gusto_app_integration_v_2026_06_15.types import BaseModel, UNSET_SENTINEL from gusto_app_integration_v_2026_06_15.utils import ( FieldMetadata, @@ -37,9 +37,15 @@ class PostV1ProvisionSecurity(BaseModel): ] +class PostV1ProvisionHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" + + class PostV1ProvisionRequestTypedDict(TypedDict): body: ProvisionCreateRequestBodyTypedDict - x_gusto_api_version: NotRequired[VersionHeader] + x_gusto_api_version: NotRequired[PostV1ProvisionHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -50,10 +56,10 @@ class PostV1ProvisionRequest(BaseModel): ] x_gusto_api_version: Annotated[ - Optional[VersionHeader], + Optional[PostV1ProvisionHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + ] = PostV1ProvisionHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_webhook_subscriptionop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_webhook_subscriptionop.py index 104fbc80..6dd17810 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_webhook_subscriptionop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/post_v1_webhook_subscriptionop.py @@ -57,6 +57,7 @@ class PostV1WebhookSubscriptionSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PostV1WebhookSubscriptionRequestBodyTypedDict(TypedDict): diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py index a04970dd..20801e9d 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py @@ -58,6 +58,7 @@ class PutV1WebhookSubscriptionUUIDSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PutV1WebhookSubscriptionUUIDRequestBodyTypedDict(TypedDict): diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/revoke_access_tokenop.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/revoke_access_tokenop.py index c0a3a1c6..5ace521f 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/revoke_access_tokenop.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/revoke_access_tokenop.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .versionheader import VersionHeader +from enum import Enum from gusto_app_integration_v_2026_06_15.types import BaseModel, UNSET_SENTINEL from gusto_app_integration_v_2026_06_15.utils import ( FieldMetadata, @@ -14,6 +14,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class RevokeAccessTokenHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" + + class RevokeAccessTokenRequestBodyTypedDict(TypedDict): client_id: str r"""Your client id""" @@ -36,7 +42,7 @@ class RevokeAccessTokenRequestBody(BaseModel): class RevokeAccessTokenRequestTypedDict(TypedDict): body: RevokeAccessTokenRequestBodyTypedDict - x_gusto_api_version: NotRequired[VersionHeader] + x_gusto_api_version: NotRequired[RevokeAccessTokenHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -47,10 +53,10 @@ class RevokeAccessTokenRequest(BaseModel): ] x_gusto_api_version: Annotated[ - Optional[VersionHeader], + Optional[RevokeAccessTokenHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + ] = RevokeAccessTokenHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/versionheader.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/versionheader.py deleted file mode 100644 index 39bb6cb7..00000000 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/versionheader.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - - -class VersionHeader(str, Enum): - TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/webhook_subscription.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/webhook_subscription.py index 9e83f091..35e8a1ee 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/webhook_subscription.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/models/webhook_subscription.py @@ -35,6 +35,7 @@ class SubscriptionTypes(str, Enum, metaclass=utils.OpenEnumMeta): PAYROLL_SYNC = "PayrollSync" PAY_SCHEDULE = "PaySchedule" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class WebhookSubscriptionTypedDict(TypedDict): diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/notifications.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/notifications.py index 1a54a230..b7c6baad 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/notifications.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/notifications.py @@ -15,10 +15,10 @@ def get_company_notifications( self, *, company_uuid: str, - status: Optional[models.QueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + status: Optional[models.QueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -35,8 +35,8 @@ def get_company_notifications( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -55,9 +55,9 @@ def get_company_notifications( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) @@ -116,10 +116,10 @@ async def get_company_notifications_async( self, *, company_uuid: str, - status: Optional[models.QueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + status: Optional[models.QueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -136,8 +136,8 @@ async def get_company_notifications_async( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -156,9 +156,9 @@ async def get_company_notifications_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/payrolls.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/payrolls.py index 4003bd51..6acecd8a 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/payrolls.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/payrolls.py @@ -70,9 +70,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -194,9 +194,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -594,8 +594,8 @@ def get_for_company( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -734,8 +734,8 @@ async def get_for_company_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, diff --git a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/webhooks.py b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/webhooks.py index 12c529c2..a2dc1f47 100644 --- a/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/webhooks.py +++ b/gusto_app_int_v_2026_06_15/src/gusto_app_integration_v_2026_06_15/webhooks.py @@ -486,8 +486,8 @@ def get_subscription( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -592,8 +592,8 @@ async def get_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -700,8 +700,8 @@ def update_subscription( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -823,8 +823,8 @@ async def update_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -944,8 +944,8 @@ def delete_subscription( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1050,8 +1050,8 @@ async def delete_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -1156,8 +1156,8 @@ def request_verification_token( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1264,8 +1264,8 @@ async def request_verification_token_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -1376,8 +1376,8 @@ def verify( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), @@ -1501,8 +1501,8 @@ async def verify_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), diff --git a/gusto_app_int_v_2026_06_15/uv.lock b/gusto_app_int_v_2026_06_15/uv.lock index 8b60067d..cb8f4050 100644 --- a/gusto_app_int_v_2026_06_15/uv.lock +++ b/gusto_app_int_v_2026_06_15/uv.lock @@ -83,7 +83,7 @@ wheels = [ [[package]] name = "gusto-app-integration-v-2026-06-15" -version = "0.0.1" +version = "0.0.2" source = { editable = "." } dependencies = [ { name = "httpcore" }, diff --git a/gusto_embedded/.speakeasy/gen.lock b/gusto_embedded/.speakeasy/gen.lock index 1a56abae..9996f30c 100644 --- a/gusto_embedded/.speakeasy/gen.lock +++ b/gusto_embedded/.speakeasy/gen.lock @@ -1,20 +1,20 @@ lockVersion: 2.0.0 id: f70034eb-4870-4b8d-aeb4-4c71b6c1ec45 management: - docChecksum: 9dae1c89199875cd90c89ae874e4c2b2 + docChecksum: 07e25dc5eb3f1e2de391875600622701 docVersion: "2025-06-15" - speakeasyVersion: 1.769.1 - generationVersion: 2.892.1 - releaseVersion: 0.4.0 - configChecksum: 7fe2da9467e848cfd0d077b011cbf1bf + speakeasyVersion: 1.771.0 + generationVersion: 2.893.0 + releaseVersion: 0.4.1 + configChecksum: 6e1a023f10d3df0307a2eebecbfe42a8 repoURL: https://github.com/Gusto/gusto-python-client.git repoSubDirectory: gusto_embedded installationURL: https://github.com/Gusto/gusto-python-client.git#subdirectory=gusto_embedded published: true persistentEdits: - generation_id: c78a14af-be83-4328-ae81-98b7dd7304c8 - pristine_commit_hash: f05a2b17f9349573756a93f52a7c506fe6520a8c - pristine_tree_hash: 4caf57802175827142f4db4dbf54315051541b2c + generation_id: be5aca24-606f-4427-8cc7-5e3b82837d68 + pristine_commit_hash: 98779348b8e51f79af0b6d1af1c71b3c48e1f613 + pristine_tree_hash: 4c1e2960e96611797adea9f6b5a75233b8c666f0 features: python: additionalDependencies: 1.1.0 @@ -218,8 +218,8 @@ trackedFiles: pristine_git_object: 7d84256e2958b9ea36f42a1ba37841fd266cb5ec docs/models/blockers.md: id: be05f80f786d - last_write_checksum: sha1:cf271f373494c3d486034ed3879c6de0c7fb44a6 - pristine_git_object: b96b99dec729c7b3aa39d135a0be08390b11ac4f + last_write_checksum: sha1:918445d6dc21497c11ccff05f31a9a00dca30a9c + pristine_git_object: e2db1ac3676428d82d9f5a3cd98e8fad1ff4532d docs/models/blockertype.md: id: 491d41b39d65 last_write_checksum: sha1:6221dc40a76fe51138df7ac28c8f920bc964531f @@ -802,8 +802,8 @@ trackedFiles: pristine_git_object: dc93bef0cf3389f1640401a62b78acf6daae4230 docs/models/deletedepartmentrequest.md: id: ba9cf41722bf - last_write_checksum: sha1:8af1f594a2dfa6277b7cb31bf14a20dca38b9e02 - pristine_git_object: fa5403d9558d867938b11fddc5ab6390ff2d5b76 + last_write_checksum: sha1:307ae1ed3132c076e19633d12c2e1735755c408b + pristine_git_object: 5e11e97f01a08b6f1bf458b84061e81cf79fbb71 docs/models/deletev1companiescompanyidbankaccountsbankaccountidheaderxgustoapiversion.md: id: b55fcf37d9f5 last_write_checksum: sha1:6be1b0b931ba4e7ecb10944605fff44ced8a61d7 @@ -834,8 +834,8 @@ trackedFiles: pristine_git_object: 11221c3192522391e803d129ad9e76fef2bd4405 docs/models/deletev1companiescompanyidpayrollsrequest.md: id: 306e4ca39f9a - last_write_checksum: sha1:b6d9e93d2eeeffe476970e8ed52cb8351a2fd3da - pristine_git_object: 8ae555aa813a086340147ea9a1814c1434cb6db0 + last_write_checksum: sha1:206d09b69bd6c90a137051c0e32ccf70f4f72245 + pristine_git_object: 9c17b7055f2c03e4779bc7b4736ede0e126c1d77 docs/models/deletev1companiescompanyuuidholidaypaypolicyheaderxgustoapiversion.md: id: 1a86ad620004 last_write_checksum: sha1:d7c207205fd97457704b41b170bb06b18245f18c @@ -850,8 +850,8 @@ trackedFiles: pristine_git_object: a574fc8b441df2a0c64cc238c4c5f1f651c758fb docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md: id: 3c59f322d694 - last_write_checksum: sha1:fcd82df3096809b70e9e07a9a95258604ffda725 - pristine_git_object: 64eb8d98b8ec22c177f7c2939ce24b9a8cc2cc4a + last_write_checksum: sha1:0b6bbbb1cfb91ae70eba2eb8dcc8d4373a60762b + pristine_git_object: bc943c395f11745c9fc7f03b1ad155665b16f67a docs/models/deletev1companybenefitscompanybenefitidheaderxgustoapiversion.md: id: a4fab4762b8b last_write_checksum: sha1:1b62c2133bb744c2ea901d164316ad87476e04fb @@ -874,8 +874,8 @@ trackedFiles: pristine_git_object: f7501c2abd465f8d27c49933c5267b126581ade0 docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md: id: c3369e2b983e - last_write_checksum: sha1:1f05b6617647b2bf281c8c59d64b0dbe9c332e1f - pristine_git_object: 151e2c4b6c4bf60c1155179ef2ced93afbfb9d7f + last_write_checksum: sha1:dde9462ca9b0678b3d14518a7a39e00ac7f621ed + pristine_git_object: b8aac02957370ea60c8153c698c8a312e259b266 docs/models/deletev1contractorscontractoruuidheaderxgustoapiversion.md: id: 177aee4e1a18 last_write_checksum: sha1:4e64c7c397f34b8caba5f40c319ea2fce17df3d2 @@ -886,8 +886,8 @@ trackedFiles: pristine_git_object: 84b6fe8ea75bd0480ed3e88c7af92d3e9a20f77f docs/models/deletev1contractorscontractoruuidrehirerequest.md: id: 2b48149db324 - last_write_checksum: sha1:e21bafc575bb7f8275f256bddecbafe76bc9b820 - pristine_git_object: a7b067ebca81908af469596d03015fea0c2473cb + last_write_checksum: sha1:f3061cf66c62065fac2e8f4237e76b63228c0bfd + pristine_git_object: 9b156172057acc1f6afa6ab6d76e9d2b8e077457 docs/models/deletev1contractorscontractoruuidrequest.md: id: 4c8e72928571 last_write_checksum: sha1:add0cf010d09cf372ae1f677e0724da38a59b193 @@ -898,8 +898,8 @@ trackedFiles: pristine_git_object: 87edfb21ba3125eec13a3fa5ae2a1668dd221c57 docs/models/deletev1contractorscontractoruuidterminationrequest.md: id: 16a802812dbd - last_write_checksum: sha1:5339f8afefeafa36444fed593e1ff4b32fe6a8ec - pristine_git_object: 2496ffc802e001f936a820eaab210be6fd98796a + last_write_checksum: sha1:0f57177c4b796d4c1082692a08f82c64a2e40537 + pristine_git_object: 00717d08e3616457a4f3a68f26f614256d1fad45 docs/models/deletev1employeebenefitsemployeebenefitidheaderxgustoapiversion.md: id: 0e9d69693373 last_write_checksum: sha1:785452f2fb2a9879080b0994cbfb9947041524fc @@ -970,8 +970,8 @@ trackedFiles: pristine_git_object: df71228ab4a3a5915c2132b65bcfdb2ab2ff925b docs/models/deletev1jobsjobidrequest.md: id: dcb42d8fb9d3 - last_write_checksum: sha1:a40b5f433a9177c2268aa25d1523b0a5d56313e2 - pristine_git_object: 6724cfe689c93be352954cdad206c307b58332f8 + last_write_checksum: sha1:a7c196f24c11c8b1a3322aae74abb22599294eda + pristine_git_object: 6d9df121e729d60e5c517b2d19404024b6129e77 docs/models/deletev1recurringreimbursementsheaderxgustoapiversion.md: id: 060231488a8f last_write_checksum: sha1:c05d8fb63bbcc270fff62de92f0c91ec5e514f9a @@ -994,8 +994,8 @@ trackedFiles: pristine_git_object: cda67af13b472c92bc4ff49585e396c42c4eb9fa docs/models/deletev1webhooksubscriptionuuidrequest.md: id: 24f1d40e16f6 - last_write_checksum: sha1:f0ffa08b88ab307c76aa2c45beaa5baa801b4439 - pristine_git_object: b44156c9feee50ace1fb938c36ce6cafcce293fa + last_write_checksum: sha1:e5579667f0169dedc74f5eb2397b9902e3c262c5 + pristine_git_object: 3b1cbfd9ce7914558acfacd77fb3c4bdde90e45a docs/models/deletev1webhooksubscriptionuuidsecurity.md: id: 3deb093db84b last_write_checksum: sha1:8740b24efc9bb23066f3d39311254a17b913b79d @@ -1006,8 +1006,8 @@ trackedFiles: pristine_git_object: 99e4caddf7f74b9ba1a1412f4fc298ff4db2dd86 docs/models/deletev1workaddressesworkaddressuuidrequest.md: id: 35718dbe6d0b - last_write_checksum: sha1:51a04e719ff7033831b29ebb321148f81dafcf04 - pristine_git_object: e21c51ef856960c88973c35533d240413bf288d9 + last_write_checksum: sha1:a8126fe3d046f4e504bdf7fb970912f0f99b85e1 + pristine_git_object: 103375b831f574790646bb08af3d2734a0f30f67 docs/models/department.md: id: a35d7d606751 last_write_checksum: sha1:e9c947ef8fdf90833d48e7205aa0b972746f3f93 @@ -1290,12 +1290,16 @@ trackedFiles: pristine_git_object: 72335d3a49f863bcb9b872157158b5d622fd410a docs/models/employeeonboardingstatus.md: id: 9b98e864b573 - last_write_checksum: sha1:5eacfcfe663a5e4cf2b7d48021a029b2f4d2edf2 - pristine_git_object: 1bcf08408c41188180b3e5831dda8e067398a458 + last_write_checksum: sha1:bbde0eef5fdcd7857331da5833d2904b3cf21077 + pristine_git_object: 08704151d281d803fd5ad65f96bd8c8d4e4b67ed docs/models/employeeonboardingstatus1.md: id: "348218618354" last_write_checksum: sha1:9447518fe4d16be0e9e8a11152fb802b02629282 pristine_git_object: 74f60827c11bfbf16a3d62625fddd5755ca50fb2 + docs/models/employeeonboardingstatuscategory.md: + id: 65239daa3f1b + last_write_checksum: sha1:7ca5bd0af877a8badca3b50713abea238b4061ab + pristine_git_object: 669ec033bb2704bb7b4f5e0d14c45079ced115f8 docs/models/employeeonboardingstatusonboardingstep.md: id: 4c1c95be4669 last_write_checksum: sha1:748d349954d5c47035da14da9771725ae12fac01 @@ -1516,6 +1520,10 @@ trackedFiles: id: a0e8b6b2567f last_write_checksum: sha1:1297a28d74e75acff3410afccae6690ae87dfcbf pristine_git_object: 521acc7db32b6434da2dda44c2dc267e5c5d589a + docs/models/fieldt.md: + id: b45bd96c7b1d + last_write_checksum: sha1:bfd2a75f8ececc8bcff35a047757a17cc5f290f3 + pristine_git_object: e1cb9f54170773d0d194fcd46383e5771e081373 docs/models/filetype.md: id: 6474ff839025 last_write_checksum: sha1:9b278de0067c64de79b8e2649b06b8c22c32352c @@ -1658,32 +1666,32 @@ trackedFiles: pristine_git_object: 5226d23a8049b5f585f35687b3576f69324de7ee docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md: id: 8d8b75157646 - last_write_checksum: sha1:df583de9e84f6370de358d81eab2e7a93d60086e - pristine_git_object: f0499c07a00067d6e5130c80a00db60a7746e629 + last_write_checksum: sha1:ad86f3972ca520deb2e41a06c54de2e0a8eb20be + pristine_git_object: 484c54d79003a42a46849de895e3b5710d4a0e35 docs/models/getcompaniesdepartmentsheaderxgustoapiversion.md: id: 4d4594a3c6e6 last_write_checksum: sha1:dd93f65d4a4cd1a2cae732e47a9043ab0fe5b255 pristine_git_object: 430753c6932e800a47b3465cfd6e97b938293407 docs/models/getcompaniesdepartmentsrequest.md: id: a61ebf4ee118 - last_write_checksum: sha1:f13fbaf077f9bb422598183d6239c7ee0b0d9cf8 - pristine_git_object: 0ec638e323177c89b1948d655f31d4314099b377 + last_write_checksum: sha1:e2f954a0df55b1e1697f7c016e37cd0197db3383 + pristine_git_object: d598309d2ca3ad4694db5a0aa6dc9d9296a165d4 docs/models/getcompanynotificationsheaderxgustoapiversion.md: id: 09f6be0fe6a0 last_write_checksum: sha1:233fa17ad0f81d1c36988328b541892564155088 pristine_git_object: b9ee0fb4f23bcb3ebedd7174eb5dc7a55fb9db3a docs/models/getcompanynotificationsrequest.md: id: d9d552594b63 - last_write_checksum: sha1:1e0f8d08640ef93ca55de13deb4a6b4cdac7542c - pristine_git_object: 637a1ff07729bd9b9be4c047ba9f25abc3f03c86 + last_write_checksum: sha1:ac3e3382a76e7d21c3dee0768120323567a40e8e + pristine_git_object: b870aa1738995087fd1fc08049cad88a80093a28 docs/models/getdepartmentheaderxgustoapiversion.md: id: 2b542b244895 last_write_checksum: sha1:9399e97d7a8aa4a5a0e379d0b7da6e7c0bbe2ef0 pristine_git_object: 883ce37768efe190c576615e949745b4922f1478 docs/models/getdepartmentrequest.md: id: 4224280cb519 - last_write_checksum: sha1:1af0b412d6aa245611b3d218d888de0ab110455b - pristine_git_object: 8db1cf927cb21ac7a70fab04402c324d4c3f2bc9 + last_write_checksum: sha1:66966f9bcf28b586c0346f777079735e1ef616a1 + pristine_git_object: 23a6159c7c251ac2048e14c3d3bfb0f6d7bdf105 docs/models/getemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: da7bbcc52e44 last_write_checksum: sha1:b5614454d923adab107681f750ab016265ecaadc @@ -1730,8 +1738,8 @@ trackedFiles: pristine_git_object: 52a651048daf0164dd7018e9ac67d013cc94b5cc docs/models/getnotificationsnotificationuuidrequest.md: id: 62e4af8be916 - last_write_checksum: sha1:ccbe21dcc4b400e6b8c68694af24f2a94c936e67 - pristine_git_object: 53bfcd35d38e28a82be5a19cf3ee002f8a689b4a + last_write_checksum: sha1:1bb91938d79e644421b7c62ebd8f4087836a32a7 + pristine_git_object: 4c5a3710299989312084bef7172d766a93f6308c docs/models/getrecoverycasesheaderxgustoapiversion.md: id: cce0da36e603 last_write_checksum: sha1:75ec46016e3fb9ab63ddc3d3986f0fe797c28762 @@ -1842,8 +1850,8 @@ trackedFiles: pristine_git_object: cc785ebc73117344554b24fa3696c315f70801e7 docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md: id: 7204cf786010 - last_write_checksum: sha1:522e34251564ee512e92906ac5c2abf3cf819ca1 - pristine_git_object: 9e83cb0dc335f9a1bcd35b742e9099d8c1ccb607 + last_write_checksum: sha1:655a46c192ef59fcd1ffd6c493593bcbe3f0459d + pristine_git_object: 6e84055080f88b8c1b8fd449c763dc069fa5e7fa docs/models/getv1companiescompanyidcontractorpaymentsheaderxgustoapiversion.md: id: f4f5b787abe6 last_write_checksum: sha1:11137936597a54c32247213966bf3d00b79d38a6 @@ -1862,8 +1870,8 @@ trackedFiles: pristine_git_object: 59807879a816ce46dc43942cf929fd7cdc6074f5 docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md: id: 521c21287e14 - last_write_checksum: sha1:ee93ea69a420b707fe13ea0d71c9e69446d9f21e - pristine_git_object: 0d986047a45cdccf132060337ccc89a8b6795a60 + last_write_checksum: sha1:c1822673c6c6fde73b763df3b0eff9bc543963f7 + pristine_git_object: 3e6b39b9cb0af6cf582d5d9f753beae73e39e071 docs/models/getv1companiescompanyidcustomfieldsheaderxgustoapiversion.md: id: 31414dab58c7 last_write_checksum: sha1:42483cde17c61b76869436c06bec26dc06b07dda @@ -1902,8 +1910,8 @@ trackedFiles: pristine_git_object: 6b51e3a3ac6de87ac68df01d297bbfefa7faf2f6 docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md: id: c671f3fe5b25 - last_write_checksum: sha1:61f7d278ce09a86fc2edffbc97cd30df1e072b23 - pristine_git_object: 14459d04a025324e64cbc3b50f213d9669a604ec + last_write_checksum: sha1:03069ac8b7612fbcd6a377b2b4b1d5534342287b + pristine_git_object: 07967a24e3f85f5faf90bcab939587392b521754 docs/models/getv1companiescompanyidlocationsheaderxgustoapiversion.md: id: 0c83792c46d1 last_write_checksum: sha1:205392205a0db3af8bace934a1a584c8c45d42ad @@ -1920,10 +1928,14 @@ trackedFiles: id: 6366ac379cce last_write_checksum: sha1:655228371790fa2953a3fa6987b769e5efb98781 pristine_git_object: 4ba58e7f8633252d349eae43602278320d802f6d + docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md: + id: e8d5c96348c9 + last_write_checksum: sha1:607bd9eca185458ef727c9bd3b5eb77ba88e0ea2 + pristine_git_object: 4aa56fa135b939e4838ae93a7637702fdd97ce57 docs/models/getv1companiescompanyidpayrollreversalsrequest.md: id: 1c85a798e584 - last_write_checksum: sha1:99a71314d1656755739fd22495fdd9c47beae392 - pristine_git_object: f46286b22b070951a4c3da3539f23fb5a0a7d7ba + last_write_checksum: sha1:f00db094e4a7c71b44d0f41502a1c40a75e12184 + pristine_git_object: 918d87b715b22296a07e9497d6a0d9f25177e9c2 docs/models/getv1companiescompanyidpayrollsheaderxgustoapiversion.md: id: df3f762ebcdd last_write_checksum: sha1:15d2ac7796576650a4457456bf20a1279f045f5b @@ -1934,8 +1946,8 @@ trackedFiles: pristine_git_object: a1bd2ccaa965f398246a51309e849d92f7390952 docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md: id: bb1204c8abc8 - last_write_checksum: sha1:dae2fdaf59443719d212ee173391c8a64c9c5466 - pristine_git_object: 1dcfd430036804771fbaa8c01ca2da2b51c899af + last_write_checksum: sha1:198669cfb7e72126d908d842808cc10cbdb712ce + pristine_git_object: 3d70561d5af6b8793e1a32f6d56581cb6364d697 docs/models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md: id: e34e096b88f0 last_write_checksum: sha1:66e741aaf2b32c4961cdff0dfad9d671ac689cb8 @@ -1946,16 +1958,16 @@ trackedFiles: pristine_git_object: 0dc174d9cd63565bb57812ebefe161036caf2a3f docs/models/getv1companiescompanyidpayrollspayrollidrequest.md: id: 18b7df56f915 - last_write_checksum: sha1:1f724cbaa4c349e5b27fe0512ae8a33a4c40ca28 - pristine_git_object: 437f96d447b639d69e898c4439f7a1bc63f621e8 + last_write_checksum: sha1:666a8b347d05884f7cd3de16d318b96828a25719 + pristine_git_object: bc90ad8697ecd47ec44159164e4b7738df745bb6 docs/models/getv1companiescompanyidpayrollsqueryparaminclude.md: id: f0ab7b48060c last_write_checksum: sha1:a41d0654561e00d4490e24b52aa41f7cdc42962d pristine_git_object: 76f3d63134388ddda8d03cb84bcbf3ec232dc747 docs/models/getv1companiescompanyidpayrollsrequest.md: id: f74644d59582 - last_write_checksum: sha1:e3cb1d8d7aaff16608512b587d7cd0ee6e4f338b - pristine_git_object: 7b26f6d65bd796a323d49195e4f9aabc25b84f05 + last_write_checksum: sha1:be9742988d94860630281c3922aaff56091fe97e + pristine_git_object: 4d1db6dd7a2fe6c45eb850c695e97c57b3c77724 docs/models/getv1companiescompanyidpayschedulesassignmentsheaderxgustoapiversion.md: id: 8de2ec62f405 last_write_checksum: sha1:a4f723e7e904ebfd62800c77688d7631b9f51fca @@ -1982,8 +1994,8 @@ trackedFiles: pristine_git_object: 8fe917be5ad925bc49192e7c927f8d3d755aba8a docs/models/getv1companiescompanyidpayschedulespreviewrequest.md: id: 7fbbd6dc40e2 - last_write_checksum: sha1:d5f5287f2e7cdda638f94f59bcca4e55f2560a2d - pristine_git_object: 3fb46982cd8884cd72f0dca57d05a9cf500e4034 + last_write_checksum: sha1:a1fcd329ce6111183c2d8dd475660a06eaee41c0 + pristine_git_object: 345f14800211d584d35c0fde1f98c92afae9ef6b docs/models/getv1companiescompanyidpayschedulesrequest.md: id: b07564200b9f last_write_checksum: sha1:c851031186b4911cda304fd5ca0277ef81ffddc9 @@ -2022,24 +2034,24 @@ trackedFiles: pristine_git_object: 384afa6a6eed8edc4b7631148cb67c7025c9f6c4 docs/models/getv1companiescompanyuuidsignatoriesrequest.md: id: 42fb6410f213 - last_write_checksum: sha1:c9f55bda47f260f56e6f25cd2c82c8579ba9fb7d - pristine_git_object: da8123764cc84cc8a12253496bb889e3cf763902 + last_write_checksum: sha1:27897c3452fa08b76be2f25d68a78c7f3c1b9aff + pristine_git_object: 1b6a534cac14d53d0fb24be3f22c723538fa8629 docs/models/getv1companiescompanyuuidtaxrequirementsheaderxgustoapiversion.md: id: c8958ca5e31d last_write_checksum: sha1:df188b50727c08aef20fff5d449529d5dbb04a32 pristine_git_object: 19e916969363383dacfc0976f7ecd7293a876715 docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md: id: "026132448195" - last_write_checksum: sha1:11bf48a8dca5008d85252121fe4a337310ded763 - pristine_git_object: f4e03fa89266b42bb042301f3c4fbf74f3f6023a + last_write_checksum: sha1:e9e95f51def5fd85078684bf21c8eb6a15337cc5 + pristine_git_object: c05407c42c7964b583c85c9b1f6c09bd71c30fe1 docs/models/getv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md: id: a73c89c8f3f9 last_write_checksum: sha1:c7b6ce464b56c3baed772d8a7c65de2a2861bb7d pristine_git_object: 94023d2514e64690e0032657797ff6ac9fde8f52 docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md: id: 6b104729e251 - last_write_checksum: sha1:1e244b0220812808ecb0ca12476b5976c439d305 - pristine_git_object: bc1a063fbfa27d6bb6e409c0ec3c8e61798645d3 + last_write_checksum: sha1:eba49a75a1cb222ee07cae6d83c7e8d900dcf283 + pristine_git_object: 47480df77bf224bd2ecb817f1909fc6b75ab00c7 docs/models/getv1companiescompanyuuidtimeoffbalancesheaderxgustoapiversion.md: id: 21217f8edb90 last_write_checksum: sha1:5822421853285a6aa0e3e6067d24ebd356d53a94 @@ -2078,8 +2090,8 @@ trackedFiles: pristine_git_object: 618bcff5066e7bd11d3b6c980fd8f8e10dd2691e docs/models/getv1companiesrequest.md: id: e2f1037ade12 - last_write_checksum: sha1:34d99629ebd4b9e00c11940f14a29e5f3b7d6404 - pristine_git_object: ddf4598ff558fc0bf94368fb59dafe71ad520980 + last_write_checksum: sha1:755dc3743653fbba8faf5803705fcedd24a38814 + pristine_git_object: 4a4c0132dbb7845ff662ecbee81ef4dd5ba70086 docs/models/getv1companybenefitscompanybenefitidcontributionexclusionsheaderxgustoapiversion.md: id: 0fa158f0c89d last_write_checksum: sha1:df421428643010431a8a4b96f27a3484b0460759 @@ -2126,8 +2138,8 @@ trackedFiles: pristine_git_object: dd1c8fa0300074de19d70084e3b9fe53bf507583 docs/models/getv1companyfinishonboardingrequest.md: id: b44f8cd2c2ee - last_write_checksum: sha1:97359dab42d1458d243d570e379e4ee20f4b54f4 - pristine_git_object: 25b53553e79aa78f467ab58535c13190ae9985e6 + last_write_checksum: sha1:5932bd4c77ea57ce24bc25ed4a675655822e1924 + pristine_git_object: ce122267f61e5514c0979ed5e88d968836b1c51d docs/models/getv1companyformheaderxgustoapiversion.md: id: c2bead90dd71 last_write_checksum: sha1:0fcf90ad6b5d91435c62a809cc20bdddbecca8b5 @@ -2158,16 +2170,16 @@ trackedFiles: pristine_git_object: 182853fe62956abb044724c7f5690a2a8f397ecd docs/models/getv1companyindustryrequest.md: id: 2fbfbff9199a - last_write_checksum: sha1:90c6dae038324c3c1ac7c3932146f6bc1c7a6646 - pristine_git_object: 3394230d9db304e3df5430a234f780e4944e3ed4 + last_write_checksum: sha1:c3fd281aa2f012b55feb49a9f2e7e0868106053f + pristine_git_object: a7b683e8365699f0d5137bc8b2f0fe27917be8fc docs/models/getv1companyonboardingstatusheaderxgustoapiversion.md: id: d67ab589fa58 last_write_checksum: sha1:3896f6ba6475a546ffc4354a35933ec8616df37e pristine_git_object: 316e4aa64a3fea7c256dc804cc7640e62f65545b docs/models/getv1companyonboardingstatusrequest.md: id: 34fd982eef33 - last_write_checksum: sha1:e33854200419e6d1cd3fe60ac2fa5450b9c0b8bc - pristine_git_object: e7d9a6ccbb6cfae344b1aa0abe441bf0a18efbbd + last_write_checksum: sha1:d6298219c128d1d73543ba9c270648500839af0a + pristine_git_object: 51fbef25094d71469ecab96344acc53e79169254 docs/models/getv1companypaymentconfigsheaderxgustoapiversion.md: id: 9d15deb53069 last_write_checksum: sha1:5da02769d4467404b905b14ba3e9b2f8dc22e1bf @@ -2238,16 +2250,16 @@ trackedFiles: pristine_git_object: 274f3930e25fcd2989b44520df58ad946cfc4db4 docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md: id: 1007d1e0224a - last_write_checksum: sha1:208203f91b98f91773eede1389fd29355aff90f3 - pristine_git_object: b96ae30fa63b00d9d2731675013051ed9626a9a8 + last_write_checksum: sha1:7de0b2b101a8ec7403f16ac6c6ea29010fa4acd4 + pristine_git_object: 43ff84ba44c0ad08fadaddca08ab89b606781658 docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md: id: 6af7a38e0bcb last_write_checksum: sha1:4d65e7ccaa39be8e5fbff9c2392c4484b6827c77 pristine_git_object: 989a759ef914ceee97da4a3550ff8f391402546a docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md: id: e9eaf73a11dd - last_write_checksum: sha1:39267e5a885618c3d2d74de9a412a629a706525b - pristine_git_object: c73f4965dcb8de75cbcd3675f65499136e006232 + last_write_checksum: sha1:948fb5b35ce5ceca6697f2ba4c51b2e7b3031c85 + pristine_git_object: a9f03ceccc0d9b6c21c516d44e41ae83f8f4ba18 docs/models/getv1contractorpaymentscontractorpaymentidpdfheaderxgustoapiversion.md: id: 2c32d2e732bd last_write_checksum: sha1:8ba6ad01d9271a5770e0f435e71cd727e424a838 @@ -2362,8 +2374,8 @@ trackedFiles: pristine_git_object: 19dd64f7a3fca853b9ca034c227bf4b438a1d5a5 docs/models/getv1employeesemployeeidcustomfieldsrequest.md: id: 528971b8aa8d - last_write_checksum: sha1:3998cc6d74753e9e2ab1042523e226deed73728c - pristine_git_object: ad3665fed8d31556b04063492b74668c3893adb6 + last_write_checksum: sha1:543fedfe62da50ed887c6efcf07630b42a81e687 + pristine_git_object: dd48aea74608c9e6e059498eba97a908fd8b0ddd docs/models/getv1employeesemployeeidemployeebenefitsheaderxgustoapiversion.md: id: 9f1ff8ca4dba last_write_checksum: sha1:910bcddb46c0734d2f33859ba29aeaeec91e0e3e @@ -2406,8 +2418,8 @@ trackedFiles: pristine_git_object: c5dea2f947180ecca8169cbd2f5bf907dddd6f57 docs/models/getv1employeesemployeeidhomeaddressesrequest.md: id: 2db0bc82832c - last_write_checksum: sha1:4bf5c24ca76cd171eda42e8f3b1404f960b6f4dc - pristine_git_object: 25bcddc36560596b77b6e02f1a039dd9fc78ab72 + last_write_checksum: sha1:424c4f5f2de86c18ab7813da2d26a394876bf1b1 + pristine_git_object: 50cef7ab0ddfc6c1174e377db7190b14569aed06 docs/models/getv1employeesemployeeidi9authorizationdocumentoptionsheaderxgustoapiversion.md: id: 26887ff51d54 last_write_checksum: sha1:8e9771b712468bcb05f0c1f8ddb7c030eb91517d @@ -2442,8 +2454,8 @@ trackedFiles: pristine_git_object: 6f66b560add59afc653530815f07d00748b5e484 docs/models/getv1employeesemployeeidjobsrequest.md: id: 69a9c24c722f - last_write_checksum: sha1:9c574c720f2a95b97d4ee6ed2e3e7eae5fdb2bdb - pristine_git_object: 1de83b22bb69cabe92d3b7c0586fed421530ecfa + last_write_checksum: sha1:6d04b450f74144aab457990103f4a563be5b506b + pristine_git_object: b7ba032678e00a525c37658f944d3a9f937f9906 docs/models/getv1employeesemployeeidonboardingstatusheaderxgustoapiversion.md: id: 58b7dc3235b2 last_write_checksum: sha1:7bb522e6a99289e54a16b861b56deca3c22508fa @@ -2498,8 +2510,8 @@ trackedFiles: pristine_git_object: 2f82a4ceeba9547579691260fe1bc33f21d0cced docs/models/getv1employeesemployeeidworkaddressesrequest.md: id: e43728e47a3a - last_write_checksum: sha1:f4fcdf809ccf7d0ae3c3b132337f789a24e8ef0a - pristine_git_object: 00b143d58c5ff80209473e31642b9618bc60a943 + last_write_checksum: sha1:7f23586e14e8f0544a5d6ab12c83adf7309c26f6 + pristine_git_object: 93254bf5957eb2e1c49d76f7f57bd587d9d53771 docs/models/getv1employeesemployeeuuidpaystubsheaderxgustoapiversion.md: id: 6923e3fc2da1 last_write_checksum: sha1:08ba1768b93298d6fc854f4aca4aa098b6e1cb6b @@ -2514,16 +2526,16 @@ trackedFiles: pristine_git_object: 726d1096716db4c291a40868434872fd8b52747a docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 26a889c306e3 - last_write_checksum: sha1:c75f797082d41d5939a9576e8095bb4a91ff642f - pristine_git_object: 098f64eadf222fd3f023fc69a38bea18fd042454 + last_write_checksum: sha1:2ce9bc8050060d129120c6af43a5e58338365a41 + pristine_git_object: 2d27a7def9dc48592f4f927e4b1e62a241050d14 docs/models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md: id: cd07a69db8b3 last_write_checksum: sha1:45d48bd56553390612dde7311548a72d963fab4f pristine_git_object: 8a81ef38ee1ba723398e54b4d7485da0e4d516d9 docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: 800013cafed2 - last_write_checksum: sha1:a3e99abdd2c8d04150e293f25b6ae031534952d5 - pristine_git_object: de8d6594a51ea6b711fbff54f6488ccff101bf9e + last_write_checksum: sha1:646852b4312d1a7e810a472f12a82498a18318a4 + pristine_git_object: 743bef6256e81fc0bc30d84713e33d669bf679f5 docs/models/getv1employeesheaderxgustoapiversion.md: id: 8662bc987474 last_write_checksum: sha1:2f06f2d5a2d62326eda90a1cec12017baceea7cd @@ -2564,18 +2576,22 @@ trackedFiles: id: a5042d4b1acf last_write_checksum: sha1:56e8fac669f6b9b800a7948007da33583057704a pristine_git_object: dc41283ec3aed61fa99dcb231a2e94e2360f49d5 + docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md: + id: 1d43f10ff2bb + last_write_checksum: sha1:186af0b8c23f0740376f2b521d72f21fb97b5a04 + pristine_git_object: 96fe9bbee9c2ef0058e8b0a191072e0d4ecf12ce docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md: id: cc6519dd97d2 - last_write_checksum: sha1:9312b21b029bd94bef7a060d04ed43b7b53776c0 - pristine_git_object: 17b976d85075653b5a2edfc20a621e32fe5b8354 + last_write_checksum: sha1:1e15369a315de74c1f83af98349a4a5fb0bab1d9 + pristine_git_object: 0a727a02c9d7edcdd574ebd13f69accd18faac91 docs/models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md: id: 593f9f27264f last_write_checksum: sha1:bed2d2089ef2094f5a7315c5b6ecdb2914a59a07 pristine_git_object: 7174fba21373a8548266bc7574009f861f797772 docs/models/getv1homeaddresseshomeaddressuuidrequest.md: id: 28fc8b01d014 - last_write_checksum: sha1:29634ec1d0dcaa76de944e5ef8f26b727fa761b7 - pristine_git_object: 654451d4b21846e3139f3589f44d2b97d3a78079 + last_write_checksum: sha1:40fb3788a3f454730152f0e96b60f059eeb2a439 + pristine_git_object: fd27eac533d55b33504965e97faf7af740759c5f docs/models/getv1jobsjobidcompensationsheaderxgustoapiversion.md: id: d9db13bfa8f4 last_write_checksum: sha1:91ab68e64d1925f5d992de1c25e0c503b536ade8 @@ -2598,8 +2614,8 @@ trackedFiles: pristine_git_object: 2ec9cd485d939a273a84c725d3c2246f0bd7f074 docs/models/getv1jobsjobidrequest.md: id: 53126311766c - last_write_checksum: sha1:0dd2479f3ec007e1d9df75786412327ef0e1e263 - pristine_git_object: 369b8fda37205b6282430c45b147f84853481731 + last_write_checksum: sha1:3b35c2009f45e6d01d1ef98a41646543a7d4d179 + pristine_git_object: 832f38ec929943871676fa775589c00db59c0e08 docs/models/getv1locationslocationidheaderxgustoapiversion.md: id: f574fabc1e73 last_write_checksum: sha1:70a64999f5eec5b05eab71e7e110f8e47ce8b906 @@ -2614,32 +2630,32 @@ trackedFiles: pristine_git_object: b040a354bb055e404b294b1023230fa1197078f8 docs/models/getv1locationslocationuuidminimumwagesrequest.md: id: 240a22a8d2f4 - last_write_checksum: sha1:0c9b8f7e0e649398c6ed86767795597247c5512c - pristine_git_object: 12dc539732e03bc7918fa574b41ac160c270501e + last_write_checksum: sha1:75b1c331c82b052a36df5cccf5d029cd33c0e302 + pristine_git_object: 7b94700f8c5790de2b982cf2fe46065036bf57fc docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessheaderxgustoapiversion.md: id: ae9cb110a778 last_write_checksum: sha1:a9b52b13888167ed5429271165aaf8b21ccb41e6 pristine_git_object: b8996ae4f4f276b6085c20b2709cf4e203a10ebd docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md: id: 09b3c0e1452e - last_write_checksum: sha1:818ce03f14bccd2b7a98111a505289ad33b3b3b9 - pristine_git_object: 1341dfdfb3e6fa95a335d3c604673b83c1229417 + last_write_checksum: sha1:cfa782e7590fcd520493109926a29bfc371d221e + pristine_git_object: bc3bbc431b93fcedad38197145c611c658a9bd37 docs/models/getv1paymentreceiptspayrollspayrolluuidheaderxgustoapiversion.md: id: f5cb5ff39287 last_write_checksum: sha1:eeb2a6f45250d01b9c870f97ba5dea04d7af67f5 pristine_git_object: b7db723f8fef50ef506c7de9818f7deab22a3693 docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md: id: fb06cfe6df12 - last_write_checksum: sha1:418aaab87bb4f02caad587129a9ffce1e8d0a9a8 - pristine_git_object: 67b2b44151edbcf356cdcb3e1e550960ce3d6dfc + last_write_checksum: sha1:4b900f58a75d4603ccc73cf7be258ffae453e973 + pristine_git_object: 7af9e3c4c36b3b017dc1ae61038da1d00d179ff8 docs/models/getv1payrolldigestspayrolldigestuuidheaderxgustoapiversion.md: id: 8e271dac4e7e last_write_checksum: sha1:7700cf52ae195aa24b988b056409ac22a0f8903b pristine_git_object: 71141ddea1d9c8d1c85634f94a6ee92b9127259a docs/models/getv1payrolldigestspayrolldigestuuidrequest.md: id: 47697135af2f - last_write_checksum: sha1:402bd6b4599425630f377183bf48dafdc4388263 - pristine_git_object: cb1212f36706fe183f479a610ee700a3a9104d89 + last_write_checksum: sha1:94f7a693e7986e8da773ef1ad541493200aa6123 + pristine_git_object: 7e920c080122b919e4fe037c7951ee23ed871ab0 docs/models/getv1payrolldigestspayrolldigestuuidsecurity.md: id: 70d55741fb20 last_write_checksum: sha1:2771f1e6855e2a2a60b2edd32d67d7b7e496ec83 @@ -2658,8 +2674,8 @@ trackedFiles: pristine_git_object: beb43546142ba3f6fe19862695b580dc4f5f5a4a docs/models/getv1peoplebatchespeoplebatchuuidrequest.md: id: 5c89c1b18268 - last_write_checksum: sha1:83dec0df21fc7717cad1d46a678de4ee3974ab6e - pristine_git_object: 8e49dea731b27dce897ccf3638fc9725eda5122e + last_write_checksum: sha1:f6dc671e5a2a74391de6878ef203128e625ade07 + pristine_git_object: 607ff3a4cb70de4b2bb421fd9c961e3c4ce2321f docs/models/getv1recurringreimbursementsheaderxgustoapiversion.md: id: b64d7c2c5185 last_write_checksum: sha1:5d55de58388ff4af71e63fc811806e049f31eea2 @@ -2754,8 +2770,8 @@ trackedFiles: pristine_git_object: 50e89167fb7e873fe53fc64ed227bcb83348ae9b docs/models/getv1webhooksubscriptionuuidrequest.md: id: 8274fc2e1315 - last_write_checksum: sha1:d29bfd06b696660069f114b75b322b15692ce980 - pristine_git_object: 1668e8ab3d7e5f7cbf2a94cfe2e3e26adf59f73f + last_write_checksum: sha1:08fc1b42ffe44c430ec148bf9114c504dff5f2df + pristine_git_object: 227e3d31aa791520747f1d8ff00a50eeb561da3c docs/models/getv1webhooksubscriptionuuidsecurity.md: id: dd2624fa02af last_write_checksum: sha1:be3cfd94b2d1ce8ac5630aeff3d15fd1a02b8f7e @@ -2766,8 +2782,8 @@ trackedFiles: pristine_git_object: 3cb4dab4d78f2dbfc0fdcc07be5c53767aa761d8 docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md: id: ac93c05cb2ff - last_write_checksum: sha1:fcbde7fcdeb8dec50aca9c9c281ffe492fda9e6f - pristine_git_object: 9f8ff4ca44f07ebc5a3ba9f96dafd5cc10a6891d + last_write_checksum: sha1:5dc7cb3e213a3c958cd756095f9d2190895799e0 + pristine_git_object: 4fabc561e29ad113db0b779aa9a4700f786e7c19 docs/models/getv1webhooksubscriptionverificationtokenuuidsecurity.md: id: aab731f5d8e5 last_write_checksum: sha1:f43b34588877321b110362087021516fe53bb302 @@ -2778,8 +2794,8 @@ trackedFiles: pristine_git_object: 4ce2971530216792aa9c70563238d5011ff5f4ab docs/models/getv1workaddressesworkaddressuuidrequest.md: id: b0234750f955 - last_write_checksum: sha1:94637b19f0318e362d75b125a062b39ccf5f3cb5 - pristine_git_object: 7888f2035b06c2c11d4a8b4a22901a6c51b43600 + last_write_checksum: sha1:98c4c6a589490c65677dd9a99f94274d8a403371 + pristine_git_object: 93b1aabd846b34cbb59ddff3531655330210c93d docs/models/getversionemployeestimeoffactivitiesheaderxgustoapiversion.md: id: 98b80660e466 last_write_checksum: sha1:25e01ed8a39c017ac3e1980bbd6ca989dc56ff79 @@ -2794,8 +2810,8 @@ trackedFiles: pristine_git_object: af4ff1f98ef02b9b6f30e2366ad3520cd0f698bd docs/models/getwireinrequestswireinrequestuuidrequest.md: id: 35b9a706020f - last_write_checksum: sha1:944382d4ad83ebc873b90dbb0378afd1ee16ce92 - pristine_git_object: 38bb1575bcb3e1e7d212a1a76365dc8de32c21de + last_write_checksum: sha1:2709ae4fdbc99e86f5142c13ec6fedebad8db5c1 + pristine_git_object: 9d253a5380100471cc6339268a48021ab6adeb7b docs/models/granttype.md: id: c3d5681ac7bd last_write_checksum: sha1:fd9ce7260f42511e5461e432cb4dcdfa9e4fb056 @@ -3198,8 +3214,8 @@ trackedFiles: pristine_git_object: ce049907e7447401f37dc5eef1e1a732dbfc96a5 docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md: id: 5655ae816c21 - last_write_checksum: sha1:286b0353816a2bd7300949ab573b7c09b24f77d8 - pristine_git_object: 4bc1b06faee3a340d26449da1aefaeec5e00c7a6 + last_write_checksum: sha1:558a854cf5a18c636a907ce268b5bc8bc749c099 + pristine_git_object: 61bccda375e2f32be3c183221d5d291cf1610420 docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequestbody.md: id: c798c71309a3 last_write_checksum: sha1:a92f86ae8bf734e53bc511aec06a92083645ef7a @@ -3222,8 +3238,8 @@ trackedFiles: pristine_git_object: a7adacc392cda45751fc5fc6dee06ebc245222b1 docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md: id: "327443042138" - last_write_checksum: sha1:49c9b64670744561b15900a094c052fef9d42d13 - pristine_git_object: ab45df0c2a5033b8c5cff2a3e7c926479fcd7ebd + last_write_checksum: sha1:9d8ac862b5ff28ba4b4e638e9b78a6950ed03d3c + pristine_git_object: ab449029718adda8b39ec2c1fd5e6397dfca0c5f docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequestbody.md: id: ae601a808214 last_write_checksum: sha1:a67545e83e31b5a2be355973e19ff885a30ad92d @@ -3234,8 +3250,8 @@ trackedFiles: pristine_git_object: 9a3d5c5b4924587221682bcf13535b652e0de400 docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 15150bb2f878 - last_write_checksum: sha1:6de0408205ebd8c87fe6b3c6368bad269bd29c52 - pristine_git_object: 89e2ff87a1a0a6d210c62d787b19d5ce095aea75 + last_write_checksum: sha1:73e73bf8dc7394e0b532fde84d472b9d70b498c4 + pristine_git_object: 0347af6b510719743c44c9234d380dc50d847d78 docs/models/pathparamdocumenttype.md: id: 5485b6b78b72 last_write_checksum: sha1:37110651b5c6cc8e04a4c67b5b3eb9dc82d64b72 @@ -3416,6 +3432,10 @@ trackedFiles: id: 04aaa5a44e0e last_write_checksum: sha1:d4e1410f06d042a62062469707d77da5b40fcc87 pristine_git_object: db37b4c0c4ba36742ed1c790154e4b389090760e + docs/models/payrolldigestresultsblockers.md: + id: b701890ffed6 + last_write_checksum: sha1:1f6a23f3da80b406628f59001850ee5731db6dbb + pristine_git_object: ae2ae4c00121131023d8df2aa08c72867a9d92e6 docs/models/payrolldigestresultscategory.md: id: 49cebeff01ae last_write_checksum: sha1:3e96b8982a5fdd1030c4463c1a94f67ec8381ce7 @@ -3442,8 +3462,8 @@ trackedFiles: pristine_git_object: f38b8cee37a880a98066eaefe046e835f980cf85 docs/models/payrolldigestresultsresults.md: id: 5b709a666fde - last_write_checksum: sha1:6fdba7c87e8e2271054a2aabc17cc4cd62d16508 - pristine_git_object: 096472e27e4c935cfca617b1fa28d6e7cd94800c + last_write_checksum: sha1:1599b3ecd39bf62a82c7abe43d29c7ac07d41bb2 + pristine_git_object: 304349eb49cd652aab36a444592f41db185a948b docs/models/payrolldigestresultsresultsstatus.md: id: a26fdbc348bf last_write_checksum: sha1:1b1e70ebc717f9e718e3234e271fa4180a0b5474 @@ -3870,8 +3890,8 @@ trackedFiles: pristine_git_object: c93b3fd419ab31824ba0ca53a5855b6a9c5092b1 docs/models/postdepartmentsrequest.md: id: 4018caf28870 - last_write_checksum: sha1:4acdf4f3fec191aae1d69307a743038466051af9 - pristine_git_object: a050d19ca6e2e4d25f35ca7bc6489e4d3210822b + last_write_checksum: sha1:2825d67eb7553542e853db74d15640536a93a6fd + pristine_git_object: b969b425d66bad91a9e51865d2e557c064bb601f docs/models/postemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: 4ba357eff9d0 last_write_checksum: sha1:cb903198409163351f4bd37efb30111b32796ec5 @@ -3886,16 +3906,16 @@ trackedFiles: pristine_git_object: 211504f79caa92229097ad864f06bce6764e7994 docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md: id: 485f8a21c3de - last_write_checksum: sha1:e87c7131da6132d801d664cc5f675926292bc01c - pristine_git_object: 5a1e58555f90650b2b6d13ede92c5e9ab3fefb77 + last_write_checksum: sha1:b6cfaf096637160e2feaed80cf0f881a07d694de + pristine_git_object: 9e716575ec22f2f5220fd4b2661f9df7928a144e docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofserviceheaderxgustoapiversion.md: id: 42dca11a3521 last_write_checksum: sha1:435a0d5c7a894731ca73280a5b760f9363801955 pristine_git_object: 5a925d2a5f38dc18e31dd68c27b470cdaf51ea0f docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md: id: 56db215d0267 - last_write_checksum: sha1:2d2e82790b5fa3b1ae845f149cf475f6ebce970c - pristine_git_object: bc04a21880d7abbfc109a4bc9e7e6958f0d5df6c + last_write_checksum: sha1:4edb5eeadc1ef8244405804dd20df0432d1ac381 + pristine_git_object: a4982074f2a35bd240406ded113b24e2900b3374 docs/models/postpayrollsgrossuppayrolluuidheaderxgustoapiversion.md: id: 278ee30904df last_write_checksum: sha1:6bf5cb24b029c3c7bef605aa8e286362bedcb22e @@ -4098,8 +4118,8 @@ trackedFiles: pristine_git_object: 293ce7ed54b110afd5a84cda7c70b07b7f4a477a docs/models/postv1companiescompanyidpeoplebatchesrequest.md: id: f2fb41eb19f6 - last_write_checksum: sha1:97f8aa9057ade25102b2871333ec7d1fc145fdd4 - pristine_git_object: 203e7cb4fb0000798c7034e70a46720459b6916d + last_write_checksum: sha1:2fa45d0974623aed93342e0b881533f08bd3e1aa + pristine_git_object: f2790db8773d276232bc2744a6fc2e547637c6e8 docs/models/postv1companiescompanyidpeoplebatchesrequestbody.md: id: 20d2fcb3c9bc last_write_checksum: sha1:3e93f730bf129fd8d7e4a14133faae245f31cee4 @@ -4150,8 +4170,8 @@ trackedFiles: pristine_git_object: b535c3ba6f9c72d66730d4216bdcd2ad8c9bf9f0 docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md: id: 150dbf419978 - last_write_checksum: sha1:8d6f4c17f45f011ee4059d48615f66241023ec16 - pristine_git_object: 2f128c988f14076df5f2175157144ad65b7eae7c + last_write_checksum: sha1:a2c7b7e7842ac4372c52ac26504be32aae7489e4 + pristine_git_object: 579b56a83e090fb22d00f95a4de773bfd3df5615 docs/models/postv1companiescompanyuuidtimeoffadminapprovedrequestsheaderxgustoapiversion.md: id: 654d1fb86725 last_write_checksum: sha1:958a7dd076413ee73b16d653921a7b9f2dafd425 @@ -4210,8 +4230,8 @@ trackedFiles: pristine_git_object: 629152eff59445a8401a6b1bae94ad9939ef3a16 docs/models/postv1companysignatoriesrequest.md: id: 838b774566d9 - last_write_checksum: sha1:38d7459fce4664742b5da21e96718d83574e3d7e - pristine_git_object: b115b3c49eb220a1b9c4ace54c646957ce2f136a + last_write_checksum: sha1:baac7387445990bc3fda6e36347448e020bea712 + pristine_git_object: ebc89ad6c11253ba901d16e4e5ed9ba130d61fb4 docs/models/postv1compensationscompensationidheaderxgustoapiversion.md: id: 24f39e1325e3 last_write_checksum: sha1:e83e7adce5dba0f68f95f47e88ef623028a5164e @@ -4234,8 +4254,8 @@ trackedFiles: pristine_git_object: dca5e6473c8c03dd72af661b3fe593ae4d32db06 docs/models/postv1contractorscontractoruuidrehirerequest.md: id: f8ee64160637 - last_write_checksum: sha1:81456c23900fea3c324413a87e4cac72a1c671aa - pristine_git_object: 8e3a0cf3c00de927994657420b2858021e3e225d + last_write_checksum: sha1:c2fa87c83ed0dc1e3b0ee5bd9fddf20a43a49163 + pristine_git_object: ddf1a0b28eefbb6b238a884c2b768eb7b022e940 docs/models/postv1contractorscontractoruuidrehirerequestbody.md: id: e2085f1497a6 last_write_checksum: sha1:6d14d0614dc68b4b28c6db4b7647e84f49e88ed2 @@ -4246,8 +4266,8 @@ trackedFiles: pristine_git_object: 81d56a0323ea6784399437ac2c38f68cf8bd3d22 docs/models/postv1contractorscontractoruuidterminationrequest.md: id: 80c01264adc0 - last_write_checksum: sha1:1346ab362713cc2c43231de0a0ea5047217809cf - pristine_git_object: 0d242ef794ca7b5c673b03012d44cdbf1af75937 + last_write_checksum: sha1:671c92b23e847481d9abccd47dbdb1cdad7764e5 + pristine_git_object: 59800620b79ffdd416703618b157ee6575c27da0 docs/models/postv1contractorscontractoruuidterminationrequestbody.md: id: 53169b7f99cc last_write_checksum: sha1:80d7fd83fe78ee37f2f23012a263eb39994c429d @@ -4282,8 +4302,8 @@ trackedFiles: pristine_git_object: 873123dd0df14b114d1606a00e68aae8163452a0 docs/models/postv1employeesemployeeidhomeaddressesrequest.md: id: 09f45e83475a - last_write_checksum: sha1:b4ce8e05a1b87e1207d23c2148b9daf525df19de - pristine_git_object: ac3e4b6268fd610d4e3474d5dca651157b680185 + last_write_checksum: sha1:46e51df7c53ed852f44df48688060cd388c576da + pristine_git_object: 1ae15ad1282678647e8a664dddba1e171854f180 docs/models/postv1employeesemployeeidhomeaddressesrequestbody.md: id: 796e03da5af8 last_write_checksum: sha1:29bce5bdac51eabf4bc3b00ad09c5bf85edaf4e3 @@ -4294,8 +4314,8 @@ trackedFiles: pristine_git_object: 17310ac8c03e4c84703038fa23de1bf8c17b8520 docs/models/postv1employeesemployeeidjobsrequest.md: id: c5b63fd62577 - last_write_checksum: sha1:71dd5af0922ca7044bb9bea56e1e9895f81524e7 - pristine_git_object: 496f189a3078b8b129fc0b3730b3c2313faeab98 + last_write_checksum: sha1:51313a24e2bfbc645d46f325377eef29a9f8367b + pristine_git_object: a954bcf4fe6f955777cce5ee380fa00e0003a628 docs/models/postv1employeesemployeeidrecurringreimbursementsheaderxgustoapiversion.md: id: 3fd118e030be last_write_checksum: sha1:cf37365f9fd73816811dca4cd786c83c10d75964 @@ -4354,8 +4374,8 @@ trackedFiles: pristine_git_object: dbb3212ea2e368c0c24a00bf411906aeab685e0b docs/models/postv1employeesemployeeidworkaddressesrequest.md: id: 9a13857b1e01 - last_write_checksum: sha1:fe356abb32a867ecaa6db68b168c213107761af2 - pristine_git_object: e7464da01766ff95eff906451af702d344675825 + last_write_checksum: sha1:ad88ce6b2cef156f024a46903b758803fde0587b + pristine_git_object: d976074fd0f7ecb99b828e4bca2fd2ddc19b0560 docs/models/postv1employeesemployeeidworkaddressesrequestbody.md: id: 3250db5a72e5 last_write_checksum: sha1:84cd5d039ae43dba89c1ce66d8bc7bbfc220248c @@ -4366,8 +4386,8 @@ trackedFiles: pristine_git_object: 91914997994f03270f3e86d294b13ef73429ed45 docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: a2a27c0aec9e - last_write_checksum: sha1:1c8a8befc42881593583de808b756c265ab684c0 - pristine_git_object: bade223a131a2391c26aa27c00a7b28e62a8e84f + last_write_checksum: sha1:967dcfb9672449cf9833ee2eb01ce8474476fe58 + pristine_git_object: 14d3fb7be36374059836c9dae846d21f2fbf157a docs/models/postv1employeesheaderxgustoapiversion.md: id: 63eba27d02c1 last_write_checksum: sha1:2720bfea04aa5f26dd5e291cc3077b5e0222f15b @@ -4514,8 +4534,8 @@ trackedFiles: pristine_git_object: 553017f5abc350f1359f3b0aff2993dee19d191b docs/models/postv1webhooksubscriptionsubscriptiontypes.md: id: 9526e8313c09 - last_write_checksum: sha1:2a6121abbbed9391a4ec50a23a63e6c2b27aa798 - pristine_git_object: d28620a45efa9238afac16c964ed3da9d69eb1d7 + last_write_checksum: sha1:6a7bc63347be532378be3b1de2533abc123f2f10 + pristine_git_object: 1c9cdfb9dd2681180df5b5186dca04bf4f4c71c7 docs/models/presidentsday.md: id: 14d8f2080179 last_write_checksum: sha1:e1570908bc0df73b977cd8e0551396e01ed344f6 @@ -4546,8 +4566,8 @@ trackedFiles: pristine_git_object: 93ea55217f6edebbb08000409d6a6273fbd0516a docs/models/putaddpeopletodepartmentrequest.md: id: e3c4f81cf55d - last_write_checksum: sha1:267cd5c596f3c3fc84709b1afe034bd4544ed1c5 - pristine_git_object: 54d71383ad2155adfddce5a63483013307d8b1eb + last_write_checksum: sha1:8bae36745e7fa17330c5eb3ea93b4f0c036d44df + pristine_git_object: 17caaebe04d7cdec341fb9abdf05d9fe5579ac5d docs/models/putapiv1companiescompanyidpayrollspayrollidcancelheaderxgustoapiversion.md: id: e43d61f6c184 last_write_checksum: sha1:3b9f2dbefd30d54e84051abba0b34346a998e046 @@ -4562,16 +4582,16 @@ trackedFiles: pristine_git_object: adf3df8fff1bdf6eda59aa01c0c1c2a30788e569 docs/models/putdepartmentsrequest.md: id: 244955f78290 - last_write_checksum: sha1:3cd6bbcdb735d83e25edf2dd616fb752018b2654 - pristine_git_object: 7501f43ebe9fceb687822609ecf03bbbfbb21bd3 + last_write_checksum: sha1:8c8c5688a12cadf6e113d16a924b8e0b48065bd1 + pristine_git_object: 1ebd191f5bb89bd8d038ab21d663e3dd2b2c7dea docs/models/putremovepeoplefromdepartmentheaderxgustoapiversion.md: id: c89343ad8eed last_write_checksum: sha1:1983182f3700e285de06bf3d9ea3483eb3fd0941 pristine_git_object: de47e5dde0240f27dd0c0ba495f5a80e64cfe40f docs/models/putremovepeoplefromdepartmentrequest.md: id: 2ad30c52510e - last_write_checksum: sha1:886a29d140b86782cd7d41e10b3fc3037fe34229 - pristine_git_object: 2571a5d6643181f99c02ee11568592156cbe2b26 + last_write_checksum: sha1:abcd00a2d2e7dd74d6605637389c20e1fab2e6ff + pristine_git_object: 180f4dc74287ad8521e8d034705447d8ee0aeb82 docs/models/putv1companiescompanyidbankaccountsverifyheaderxgustoapiversion.md: id: c46562278c19 last_write_checksum: sha1:e1342c027d45fbc02754cc33682b2da12f253d8e @@ -4598,8 +4618,8 @@ trackedFiles: pristine_git_object: a152d1055372565dae6917d4125a51d48531f728 docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md: id: 91b4551acf72 - last_write_checksum: sha1:a7306dfe54f9aeb307aa0bf2e630240cfd0b7afa - pristine_git_object: 5e88953c49666c3f0746305d4434fbce751429b4 + last_write_checksum: sha1:db6044ef1fc8fe73e304061345362c45e41aaf37 + pristine_git_object: 60975d7740a10f7972f65e6b88251ae207a587bf docs/models/putv1companiescompanyidpayrollsheaderxgustoapiversion.md: id: 438c8108696c last_write_checksum: sha1:9c50fc6ab42175c4bc706c6fbf4df6cc02eccee6 @@ -4746,16 +4766,16 @@ trackedFiles: pristine_git_object: bcc05d5f2e3494109850da58e20951d2e87a127c docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md: id: edccb4bb4fc5 - last_write_checksum: sha1:d4ca39f3771b9442def17d9192241381f08e3aba - pristine_git_object: 3dd3f088b1575d5f9d4e8700f8eb5cf06aa68610 + last_write_checksum: sha1:a7de4102b27cbd7e8a876be0bfda9d2d2a8fc771 + pristine_git_object: 2277fadd1977d66b273f7da605d3eac50f798545 docs/models/putv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md: id: bbf222d46b83 last_write_checksum: sha1:b3e7ec24e39db5db625f81b75eb54ca88eca3e9a pristine_git_object: 7368fdb5f1c87c1a100bdb64f48a0b2c203dadc5 docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md: id: 05831b0febf3 - last_write_checksum: sha1:d69187d0f5eacd3c4955a82a491b015b8ec34cbc - pristine_git_object: 3179ce18a2e86fd90476bd60b4e787b4d949a598 + last_write_checksum: sha1:279f630c32e8daabb73a9cbfc8183bfc2b68a186 + pristine_git_object: f99b5c434add70bfa47f183977575c9a83098424 docs/models/putv1companiescompanyuuidtaxrequirementsstaterequestbody.md: id: d43bc7631ef8 last_write_checksum: sha1:3f2f75fb5d677bda1cd860665ed01ff0b8d850e1 @@ -4766,8 +4786,8 @@ trackedFiles: pristine_git_object: 2f0a9b20e4532e92a570da6acaf343852a93b904 docs/models/putv1companiesrequest.md: id: 7e73b41a4deb - last_write_checksum: sha1:dd956c826298bd2e4296f3e41d25098ad230ba65 - pristine_git_object: 3709169b8c2fdcad14ed78ea64f31bf58c93725b + last_write_checksum: sha1:2f8606b2d6176ffbff33bbd4264e66eaf5287633 + pristine_git_object: 36071a7ced564142670b1de8a58364d89dc3bb3d docs/models/putv1companiesrequestbody.md: id: 1bfadbb0d32d last_write_checksum: sha1:4222ea2f130a0246f6942556ebe961abeb4fec04 @@ -4814,8 +4834,8 @@ trackedFiles: pristine_git_object: 95d313ab69aec987a38ae23cdae94caf85754236 docs/models/putv1companyindustryrequest.md: id: c24621ef38b5 - last_write_checksum: sha1:0f8b7246da6adc605cbba302785e11c6c3fed2d0 - pristine_git_object: b4adcc0d6ba55ca81d09e49a0bb01f83bb8e62af + last_write_checksum: sha1:2e7c3d5268bfd53eb75007b38ea6a4812aec35ba + pristine_git_object: 3eba26c68e100212580e5b40b284518896bd1b64 docs/models/putv1companypaymentconfigsheaderxgustoapiversion.md: id: d5de932c01ff last_write_checksum: sha1:749faffab0f103017194f0f3719591bd482d28f9 @@ -4854,8 +4874,8 @@ trackedFiles: pristine_git_object: ea52cf49427107ef48cbc7a77f051d818cb9eab4 docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md: id: fe07bd6a949f - last_write_checksum: sha1:7b0819d5918a50a41ada26a754025d3bfdcd26c7 - pristine_git_object: 747183a5a1270babe18f5f18143203f26763b9d8 + last_write_checksum: sha1:269d576ca619ed62538d0a0e983d0905581047be + pristine_git_object: 209812c48884259fe24e9819480b8115b37c0b51 docs/models/putv1contractorscontractoridpaymentmethodheaderxgustoapiversion.md: id: 20afaba6ce4f last_write_checksum: sha1:63f246240bce2d86365ce3475ee5bbaaf203023e @@ -5106,8 +5126,8 @@ trackedFiles: pristine_git_object: 5fc74b3b77e0dac059b012f2ab8cce3b93effedd docs/models/putv1jobsjobidrequest.md: id: bc6f4552a25c - last_write_checksum: sha1:8ab3e51b8a06665c12e6a2f0573193b56a2087aa - pristine_git_object: 193c42d8147966153998852a41f763958d16db56 + last_write_checksum: sha1:6ab69589a8b89e71cecf0ab95b88ec7d72d0d273 + pristine_git_object: 09677f368643c9424e6625c9838a39af945210ef docs/models/putv1locationslocationidheaderxgustoapiversion.md: id: 0519d477376e last_write_checksum: sha1:5ca80a5bf5c425ca2f0efd05a0151e2de0973701 @@ -5126,8 +5146,8 @@ trackedFiles: pristine_git_object: 9f248787d9edf0a19fc33b5bb47f5bcef2cf7d3d docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md: id: 3a346c4da122 - last_write_checksum: sha1:9eaef760023aa75db26d35f3e08a61fb45725f86 - pristine_git_object: 62985018aa56bda0951a31a77aa91784883cb56a + last_write_checksum: sha1:0a047deeb939c71666d373c1baaf319a3d1f4131 + pristine_git_object: 3765f2625084b216b696edfa1b81cc81e3b0f55e docs/models/putv1recurringreimbursementsheaderxgustoapiversion.md: id: 7a81935d67a3 last_write_checksum: sha1:274f00b3c601dd46d531f21c311f2a1ca685a228 @@ -5294,8 +5314,8 @@ trackedFiles: pristine_git_object: ba5ed9546c9f0f0c6d74442ed32fe87896ca04ab docs/models/putv1verifywebhooksubscriptionuuidrequest.md: id: b9876c77983b - last_write_checksum: sha1:cae9daca8cee50856049ffb88ac0124ce822a845 - pristine_git_object: 3dfb21dd8f59ef5cfc14f8855ea8f0a5290cc3a8 + last_write_checksum: sha1:63cd5ef30f0d226cbb704d86c12aca538d14e451 + pristine_git_object: bb6b3843d07fb8a9a095695d09cd6cd5aecde4a7 docs/models/putv1verifywebhooksubscriptionuuidrequestbody.md: id: fc58d6bba1f7 last_write_checksum: sha1:8b38ba52de1f29a05acf6374cfb095fb353225c8 @@ -5310,8 +5330,8 @@ trackedFiles: pristine_git_object: a2bdeef85b0c83b5614689afa8442f1e6e3dc010 docs/models/putv1webhooksubscriptionuuidrequest.md: id: 378e848842b1 - last_write_checksum: sha1:ea05ece718e80dd118d10950ad964fbbabb7087c - pristine_git_object: ef2220124161f91f2fb6994482574896fc4c740d + last_write_checksum: sha1:ff7a74d11699160286278564a410a92caf723bc6 + pristine_git_object: 57f9ab3fc78b66b0b7d700d2cc34f33fe931e16e docs/models/putv1webhooksubscriptionuuidrequestbody.md: id: 7ea35f6c5cb1 last_write_checksum: sha1:bd9069eecfe38f6de3c75940e12607571330682b @@ -5322,16 +5342,16 @@ trackedFiles: pristine_git_object: 6a5e764a3f1c40d28c57e8c9cf3c0804a57ad396 docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md: id: 5fdaf94a9bc6 - last_write_checksum: sha1:c160b01fa26606bef792ce734a5df5aa60bb92e2 - pristine_git_object: d0e1ca56b85b63bd1e7a8e9062d2eb560ab88e41 + last_write_checksum: sha1:0a3b36959d87fb0e8b406e22a9395224569c6f4a + pristine_git_object: 1fcdf517078d0031100a01a181342d1ac0de8799 docs/models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md: id: 479d77c5e139 last_write_checksum: sha1:2d58ff1e72710be6ec63a69ac2c3f6fddffb7e1f pristine_git_object: 571bbf20f23eca2ec542d0abbb06072995e2ce46 docs/models/putv1workaddressesworkaddressuuidrequest.md: id: 44f18d9cdba0 - last_write_checksum: sha1:514b58fe24c6b1e01d4e2f40be25d744e0fdfc24 - pristine_git_object: e25a4a88577368aec3dc2ac1ebb33b3b32e50f90 + last_write_checksum: sha1:761124628560f838017122d9fdb3a0f2aaf68d52 + pristine_git_object: 3553879a6b5b0d9667fe9039ea3cef9bccbca50c docs/models/putv1workaddressesworkaddressuuidrequestbody.md: id: 1e0957075fe6 last_write_checksum: sha1:e1ff25a475b2fabf4bb078ef7aa1e4908aff9f96 @@ -5342,8 +5362,8 @@ trackedFiles: pristine_git_object: 5daebe7284f33766503b0cc61120566bd28a2abf docs/models/putwireinrequestswireinrequestuuidrequest.md: id: 976cc5ef0e58 - last_write_checksum: sha1:01631ab92f2bb61b36732355007c51026d72cbda - pristine_git_object: 4ff5d5901926c4edd7cd915c64a81c6f4b658159 + last_write_checksum: sha1:6f45478dc3e8d118b2d2e4d49c2b8a87fac03639 + pristine_git_object: 2cf2876efa34da62e21846d573253b3ce5ca80fc docs/models/queryparamfrequency.md: id: fdd320708978 last_write_checksum: sha1:05d1e58fb56ec9ad802fc6b450140d0cbfe6a977 @@ -5586,8 +5606,8 @@ trackedFiles: pristine_git_object: f4e929e41df706b0233556e82cd091e2df5c8f84 docs/models/subscriptiontypes.md: id: deab3aa152dd - last_write_checksum: sha1:c2d5585155b4adb3f3eb7e347ba9eac82eda16ac - pristine_git_object: 0a2687e616220901d04185ed089b4df628667ba2 + last_write_checksum: sha1:f996730aee84f5865208b18bb6e17be1654c3964 + pristine_git_object: 85a4a89dd6872f555b586902eb319748e18276e0 docs/models/supportedbenefit.md: id: 10121cd69414 last_write_checksum: sha1:066303e866733f6462d62c4efb8ef5ed2488ab62 @@ -5796,10 +5816,6 @@ trackedFiles: id: 444a7043f8e1 last_write_checksum: sha1:c79609db617860a24bf5f0413f02ced110e7859f pristine_git_object: 9789eb243efdcf67414715476314f5cb35ee951a - docs/models/versionheader.md: - id: c8fafc842b14 - last_write_checksum: sha1:9017b29f787a82bf03823fbd8f1646bcfa1f009c - pristine_git_object: 0a857650d9bcd8271bc6efe7e619515d6967029e docs/models/veteransday.md: id: a138b184d926 last_write_checksum: sha1:ff905fa71922570a9e793976117d5824c50d94bd @@ -5878,8 +5894,8 @@ trackedFiles: pristine_git_object: fbcf0a871f6db5b052c9b7f6e1bc9ae43c3bd32b docs/sdks/companies/README.md: id: 67e8a49afa67 - last_write_checksum: sha1:aff0c5074c8dca3b37c1710e2bd7ad108a6e991f - pristine_git_object: ba7f0bb7df29ac5bea6a0fcf22f523599b76fbe8 + last_write_checksum: sha1:9f78c7f8e343818219f2b635e6771b71aa3244f2 + pristine_git_object: ec698a0dd21c0dedd6eeb01ba0cacdb5373ee2d7 docs/sdks/companyattachments/README.md: id: 105a968c3402 last_write_checksum: sha1:a02e83742f7cc5177f68e913e28744beeee8cba3 @@ -5906,8 +5922,8 @@ trackedFiles: pristine_git_object: cbaf1a2fc492d6e4262a7a2a248130f4bb4a1647 docs/sdks/contractorpaymentgroups/README.md: id: 827b7ed15692 - last_write_checksum: sha1:f0a929f6894ee7d9d2f6db108b91b099d96bd861 - pristine_git_object: 2fac7df494d4167c2121baf7d03accb9595a9105 + last_write_checksum: sha1:eced2d46a0f16089eeea6ecdf1e3acf8df439464 + pristine_git_object: 36974b769d3b2379b04d12e1c3a792ef28f0ec67 docs/sdks/contractorpaymentmethods/README.md: id: 8e60120cdd11 last_write_checksum: sha1:352ac5510acbb2834ec85be050370bde911a3bbb @@ -5922,8 +5938,8 @@ trackedFiles: pristine_git_object: 23b31480b84419fea273c510e7b93e5bfcc0873c docs/sdks/contractors/README.md: id: e5de017cf9e6 - last_write_checksum: sha1:1552ad84fde115354ecea6c77c6e4fdb9a42e145 - pristine_git_object: 186d579d40986e935df959667778dab282daf013 + last_write_checksum: sha1:702147dc45f4c1604f749ec93a8958f2458ae813 + pristine_git_object: cd2fddbb33cfdabca973368209a5f2314d74f526 docs/sdks/departments/README.md: id: 12342c54f2cb last_write_checksum: sha1:5d026e0fc525e80d2d6e00b01a0ed6bd9e2f3a05 @@ -5958,8 +5974,8 @@ trackedFiles: pristine_git_object: ee95c512d8470d734b163c0f7a63d8bcff684582 docs/sdks/employees/README.md: id: 3adbd327ce9d - last_write_checksum: sha1:3813fc1904c6cdd405cd12523c19cdd3d9757e29 - pristine_git_object: 4251fd1f6ae8392826bcc93548952d5371ad035f + last_write_checksum: sha1:2d96e4ed64ad7ae0406de267e927ea1f8cc629c8 + pristine_git_object: dfa0112bc81c3893df2104dc5a7e694e66875248 docs/sdks/employeetaxsetup/README.md: id: 65804e377e2e last_write_checksum: sha1:475dd5a41e6c6a3df113d2c4815cb743d0126aef @@ -5986,8 +6002,8 @@ trackedFiles: pristine_git_object: cddc3adb89b95446d19455db9a1a726d3281b93d docs/sdks/generateddocuments/README.md: id: 5072871eb0eb - last_write_checksum: sha1:9e3933324a0658160b66e162dea45292bd6e6b67 - pristine_git_object: 40870b4394d13e94ce06655c10ebb85556c5caf0 + last_write_checksum: sha1:04ba68da4e09b4ca7c329b16cfa400fe18034863 + pristine_git_object: e2039c3c425b6121ca46f477f9821904228e537d docs/sdks/historicalemployees/README.md: id: 38adbb7622ee last_write_checksum: sha1:95afac3be04ad12ccf6f3c5bd379119c9446e02f @@ -6018,16 +6034,16 @@ trackedFiles: pristine_git_object: 75bfbfa907be52c7319344d35b8f35f03e31458c docs/sdks/jobsandcompensations/README.md: id: f262ef7b4c37 - last_write_checksum: sha1:3626af726ba740381e799ed3ea07cd061907e315 - pristine_git_object: 154d7263218b05eebcb5969d0076c5234aa611bb + last_write_checksum: sha1:e21321cb78d0262f13797597dc93d415b99da0fb + pristine_git_object: ee53cacfd6ca3af067d58e0bf201dc694d02dbef docs/sdks/locations/README.md: id: 18f4bc68d8e9 last_write_checksum: sha1:dfd73b19a5df2c47a1337a3bc3cb9d4e07d34a76 pristine_git_object: cac1c6f2cbff09b7b6addca4b873e2fb4f99705a docs/sdks/notifications/README.md: id: 271bac956045 - last_write_checksum: sha1:f7b026b5ec64f22a9bcdf6c8f5a28c7256ffd34a - pristine_git_object: 2e25d3b31d8501e7f81241b572d206cc5e164a3f + last_write_checksum: sha1:04aa72d168e60f7e526710ae7bf2da19ff52e508 + pristine_git_object: 453a84931f6b9f93f8a436c2b61ec89f653ce43c docs/sdks/paymentconfigssdk/README.md: id: 11a4cb7956fe last_write_checksum: sha1:eaeeb05d6980255e06c8c630f06182e417b83740 @@ -6038,12 +6054,12 @@ trackedFiles: pristine_git_object: f1a88fb9a80a2135f1c3f6158330ae7bc6b1d200 docs/sdks/payrolls/README.md: id: f6fb115a2746 - last_write_checksum: sha1:2f9be14db7d8b2ddfb42cd06045613852cf571a4 - pristine_git_object: f4cb62c8fadf29badb16047c4dd71613d4bdf793 + last_write_checksum: sha1:7f4731ce8d5d9dc584c3e269a03c94d52bf987ff + pristine_git_object: 3cb1d091a34099dda647c939941db6b4a92bf2f1 docs/sdks/payschedules/README.md: id: c0aa724eca5e - last_write_checksum: sha1:6019f6ab1ca46662b84dc37b93e4b8440fa3bb32 - pristine_git_object: 8efa1bd96aa8ec8830655dad53d239d9642d1081 + last_write_checksum: sha1:1ad205eb919ce4fd9bc74d2ed921a3f4d50a927f + pristine_git_object: 234c11d6e2e94a2a80a6fd5872f1f8f1d9c0e914 docs/sdks/peoplebatches/README.md: id: 9ac77915c062 last_write_checksum: sha1:8ee124ef5639cf1b30843dc4cb726b37b1e90473 @@ -6106,8 +6122,8 @@ trackedFiles: pristine_git_object: 50d6d8201b3eaa646de275f20ae0ae75f8e883b8 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:be95279990365c6f82d6eeda028329d2da9b98b7 - pristine_git_object: 89ca3255b78ec2e790a1c3672fb517ca8ae50c35 + last_write_checksum: sha1:1db56ac3ebb19a9ab0d8cf5755a457e3c7f958f4 + pristine_git_object: e4cac82c184485665d7aec6a49bf14b94caa8b88 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:0ae6e7ed7c0a6beabd862a881ba76cba2d985241 @@ -6134,8 +6150,8 @@ trackedFiles: pristine_git_object: 5683980c3539cc9c4b0709e7c38daf7ecef3f66c src/gusto_embedded/_version.py: id: 8ed05f413a85 - last_write_checksum: sha1:c9cabd59cfb55dfdf7e3d035ae83c14f7b41eada - pristine_git_object: 6de145f6e27b504c4ecddc13e62ec56471c5d7f4 + last_write_checksum: sha1:78b0b0a899a0b13fd7e2b54731a3c1471a5ee50a + pristine_git_object: 6d7a14428beccfa0216f66d06cb69d9c3d00aec5 src/gusto_embedded/achtransactions.py: id: c13d43e8e8a4 last_write_checksum: sha1:324d2f847f9a24b44b85e93b2b26cd45fb169763 @@ -6150,8 +6166,8 @@ trackedFiles: pristine_git_object: 780a8eb7d8a0df1849a1e32d47b7be2c17660cdf src/gusto_embedded/companies.py: id: 72db53311160 - last_write_checksum: sha1:180a3283fd174db6d97f5114cca3f7f6c1bc7a5f - pristine_git_object: 69e5da1738a88b35ee31a753af5446d23efacf10 + last_write_checksum: sha1:7bdc2217a53bc6a924d3bfd78a5b2ac924907057 + pristine_git_object: 47ffea3bddce42308e4f077d5f035b2619ef33bb src/gusto_embedded/companyattachment_sdk.py: id: e34e7cdec791 last_write_checksum: sha1:c392de0cbe1ef8fdd9625c790364dde0a7881e49 @@ -6178,8 +6194,8 @@ trackedFiles: pristine_git_object: 253b7b9233d908f7052365ef88b897774d2c37be src/gusto_embedded/contractorpaymentgroups.py: id: 3c5aaa3b19a9 - last_write_checksum: sha1:07635a8bf480d8a806cd1756ad3acab456444db3 - pristine_git_object: 6a2c42d2963df9a013282ca2091cda54dc42ef2d + last_write_checksum: sha1:3266ac7f7007bac6900aba1728c906c8ed2e8d8d + pristine_git_object: fdc2ac3345a5407297f9b2bbba68df44846f7151 src/gusto_embedded/contractorpaymentmethod_sdk.py: id: 99663ad81ca4 last_write_checksum: sha1:d0f04de87f317d5d8c5bde0475ed5d54040cf5e0 @@ -6194,24 +6210,24 @@ trackedFiles: pristine_git_object: e05d734fc28f93d845f28f5d13625d9f6a171b8e src/gusto_embedded/contractors.py: id: 32b3e3f2e7fa - last_write_checksum: sha1:5ed7efd4b9298177e17c6f570322e40d84ddb4d3 - pristine_git_object: 7608175887bb17eb1894c45125bc29277397d7c3 + last_write_checksum: sha1:bd8517f9be128ecc72c19cb1e029342a47cc75ad + pristine_git_object: 0803a708c525e5b1519798b4a83d0fa394e203b7 src/gusto_embedded/departments.py: id: b0be685f2fbf - last_write_checksum: sha1:b91fd1f0f3627ca308dd1b973b03490c8fc22234 - pristine_git_object: 5bafd16cd5585e61d4a5e99ea96a066a337f2cc7 + last_write_checksum: sha1:1024b7bacba29838bbae1e3dafc6af14b7533a8e + pristine_git_object: 09591d1f9fd7f19384e2154a900e8759d396edea src/gusto_embedded/earningtypes.py: id: fa5bbd5400b2 last_write_checksum: sha1:8fcca4fb4d28a56f8165023951cface4b1f0f58d pristine_git_object: 8eec02da1dbdd37f3d99748f8ba8f3978c147b58 src/gusto_embedded/employeeaddresses.py: id: d22c02c1bb42 - last_write_checksum: sha1:f0f1c34f9426dc7287b01096d64a737b5b99e1c2 - pristine_git_object: cff018cddf3a6bdc91bcf03b4301325b5592f627 + last_write_checksum: sha1:96f5902b0e3f9e7ac5f57bcdff7de88a41dae68b + pristine_git_object: 94b2bab55dca9899b2b239046e626b4f735348aa src/gusto_embedded/employeebenefits.py: id: ce67228e14ef - last_write_checksum: sha1:f40d8654b746bc089d8a65c7537c2a873ccb60bb - pristine_git_object: 29b18a73c0c3e80bbffac937c2b6af1847898cbd + last_write_checksum: sha1:b2f03108bae434490deaccccfe938cf71ca5acce + pristine_git_object: 9918cd33e0ecf83edf4c6a7203581d24be6a565d src/gusto_embedded/employeeemployments.py: id: 68f9bb707a7c last_write_checksum: sha1:9438cecc61f831017fbdaa04815a01b086b4a47f @@ -6230,8 +6246,8 @@ trackedFiles: pristine_git_object: d1d7059c987864ace82d907fcf1021c35178e78e src/gusto_embedded/employees.py: id: efe01411ab95 - last_write_checksum: sha1:f55a27726a163777fcab057e6b4d471beffbfeea - pristine_git_object: 96da8e77e6ecb050edc212a7874868c831b4da09 + last_write_checksum: sha1:9eff2e3718f8af5abfa9c3dfc3cb3e2fb967a6f5 + pristine_git_object: c7cb48fcfc5d2f4c45288333a85b86ec7615ce77 src/gusto_embedded/employeetaxsetup.py: id: 1af6e1a5e1a3 last_write_checksum: sha1:9ba9bbdea26df071e2c559023411af6d70a35f2c @@ -6246,8 +6262,8 @@ trackedFiles: pristine_git_object: 44a340d60dd060dd508e704023043f56fb132806 src/gusto_embedded/federaltaxdetails_sdk.py: id: 9e339f4c5341 - last_write_checksum: sha1:c46d0a23c00773e7c7fa99d9d259b252e6b56585 - pristine_git_object: d9356ee701e4396ff85e048009f2d4110b642b18 + last_write_checksum: sha1:6901d95a0b766caeec822af239e9dc2c06980d7b + pristine_git_object: 35bde1d1fe029f4968347640c258a853862c0eb2 src/gusto_embedded/flows.py: id: d12634912168 last_write_checksum: sha1:147dd17f0ab9882688be5a3842010e9c836db878 @@ -6258,8 +6274,8 @@ trackedFiles: pristine_git_object: ee9b71a3008ec18eee32f346c8f498babb55c05d src/gusto_embedded/generateddocuments.py: id: db837f1effac - last_write_checksum: sha1:2d6844b537c46c6d213229f2eaa185ddd10c9df4 - pristine_git_object: 1357bc8916a3f9dd8d15f7de5998ee857f225ccd + last_write_checksum: sha1:7772654b238a9863ec26297fe2fdb54e520597ae + pristine_git_object: 593b4e97005645de92994035e2ab53a47039efe6 src/gusto_embedded/historicalemployees.py: id: e2be40679ffd last_write_checksum: sha1:a321df73e4eeabd11ff7ee71509bf451a5d11ac3 @@ -6278,8 +6294,8 @@ trackedFiles: pristine_git_object: 2446ab98b0cc5e1a9bc3660a93c9ce029c594ff6 src/gusto_embedded/industryselection.py: id: 0894fa26b46a - last_write_checksum: sha1:97e4312343a7c512990c7870e78aa39eaa7cf56d - pristine_git_object: e68e614e27ff4c6f4edaf071c3b8c9aea4e54900 + last_write_checksum: sha1:ff2546742c227de1cc2949e41a65803b1908c9aa + pristine_git_object: d83439a82c2a90a72667f6ce9c2536937c967ff6 src/gusto_embedded/information_requests.py: id: 840caf4c80a1 last_write_checksum: sha1:f5d072e2b5c16eb59b00b1c676ee2a21f403fb3d @@ -6294,16 +6310,16 @@ trackedFiles: pristine_git_object: 9453ca530da40a7206fd844b9630013ab1f340f9 src/gusto_embedded/jobsandcompensations.py: id: aa110152bc81 - last_write_checksum: sha1:4fb3dc5cba3e716da99334ba1c8de1df2f4800f9 - pristine_git_object: 6a0dcd60404918a038467581eb386986246d82ca + last_write_checksum: sha1:d774a78ffd66f11a5b4d815a1623d8f4fd36f2ac + pristine_git_object: c9bb2f6527b025c4f3e5a2ef3b57ec4136cc1c6f src/gusto_embedded/locations.py: id: 92f8edaa2003 - last_write_checksum: sha1:fd8dfc71d3018ba9d7886363f5db583e311e9719 - pristine_git_object: e57f8dcd25f00e88931865a1e8bc5ea3cf3e93e8 + last_write_checksum: sha1:0ce116b92309b4b111083eff2d8fc826edbf4122 + pristine_git_object: 3f7009c414773c12c48ee706e4fa3a5c8a13017a src/gusto_embedded/models/__init__.py: id: 2e236a506f57 - last_write_checksum: sha1:efaf8b7f067cb5a7bb6e016cb62566873fd622fd - pristine_git_object: 29d52eebe9dd38a44a1ded61b9b60735c8f3f1ef + last_write_checksum: sha1:209028ca7b1117cfe3a06ac2b3ca7e031eeb9dd9 + pristine_git_object: edcbe4fe414282060f3fc77e6f8738dc37237753 src/gusto_embedded/models/ach_transaction.py: id: 568b1bef9d68 last_write_checksum: sha1:9126a27032a288da45d0bcaec71d3ec7cd12ec6f @@ -6570,8 +6586,8 @@ trackedFiles: pristine_git_object: a7595dc7409cba7666e98ea4e553cca70bbfe671 src/gusto_embedded/models/delete_v1_companies_company_id_payrollsop.py: id: 9829f5259720 - last_write_checksum: sha1:47d36c43a6b8e0eac578d278f3d5263e614c3c34 - pristine_git_object: a9a27214c4cda04d9be1dac957ca129fae608611 + last_write_checksum: sha1:94a06ff0682cc5730ab90357dccd8ecb801a14ad + pristine_git_object: e1f71f5cc00b1f2c2c5783b5e63db6a951a1f800 src/gusto_embedded/models/delete_v1_companies_company_uuid_holiday_pay_policyop.py: id: 61ce7d29775f last_write_checksum: sha1:ae6ee85a76e65e9cefc64615030bd52309d373a0 @@ -6774,8 +6790,8 @@ trackedFiles: pristine_git_object: d73aa06c23622a1d5bc645e98677edccb0d277c5 src/gusto_embedded/models/employee_onboarding_status.py: id: b5f2ee56cc9e - last_write_checksum: sha1:4e39899db40b1b209c9401bed7481a2284daf1e6 - pristine_git_object: d17182d0e884e23af6da9d780a53894ab1c436e9 + last_write_checksum: sha1:d387759cce3e848c46e4110035eb5d04b5f1c8e4 + pristine_git_object: f89aaa5ae496f9c35da0177f7b1efd3e9146b3bf src/gusto_embedded/models/employee_pay_stubs_list.py: id: 06b73cdbeb99 last_write_checksum: sha1:9872c6bfcc241991ab3dd08eae26a317d6a33ed0 @@ -6942,8 +6958,8 @@ trackedFiles: pristine_git_object: d8ea2ee40e1a6adecc57bdb88d8aebee0a8858d1 src/gusto_embedded/models/get_company_notificationsop.py: id: 39bba3cb9fdb - last_write_checksum: sha1:c5754596dec151a7f537cae2b930fc8ecfc07aef - pristine_git_object: b8488a2c3ff6627014d3eb2a1075eabc790b0754 + last_write_checksum: sha1:7cf601cbdb89d67dd79dacdd367c422970d6e118 + pristine_git_object: 853135a87bd192f92bbe04833308f02ffde5e884 src/gusto_embedded/models/get_departmentop.py: id: ab9f43c07d7f last_write_checksum: sha1:50140d836a436058a5cccce7adf1dabf22bd92d2 @@ -7022,16 +7038,16 @@ trackedFiles: pristine_git_object: 3ac9526e1a403577cad80ec6dc05e56df6d7ba93 src/gusto_embedded/models/get_v1_companies_company_id_contractor_payment_groupsop.py: id: c21b79dfa7ea - last_write_checksum: sha1:75f7ab27a8bb2fdd3de88440c96a597b06e1275f - pristine_git_object: 75ede393687d277ce3cfd4bc515d733575f380fc + last_write_checksum: sha1:bdd32ce0b429c99c76a5efcb62cff1ca225f1124 + pristine_git_object: 1fc0c406e4ab441808b948253093ec05c8083d4c src/gusto_embedded/models/get_v1_companies_company_id_contractor_paymentsop.py: id: 526508c5d208 last_write_checksum: sha1:02867f2710ff8575bc7b55b6c447525a4cbaebe0 pristine_git_object: 39bbc38aaf4dccafce14e6370fae1302b84c0aad src/gusto_embedded/models/get_v1_companies_company_id_contractors_payment_detailsop.py: id: 78cd99369cd5 - last_write_checksum: sha1:9026801c7c39e02d2e1a13092d928755b503ab34 - pristine_git_object: 19625b6f7e39fc73165cc0b217933dd2742ca9c4 + last_write_checksum: sha1:e1b613c9f1ad624bb6fdeb9ac18d61cd6d1ae2c4 + pristine_git_object: f928b6cdfded79be89e4a4a728eb6837b8b45859 src/gusto_embedded/models/get_v1_companies_company_id_custom_fieldsop.py: id: 695a9e975b3d last_write_checksum: sha1:66f7c22935f81930147b52c044bd1c51ebc1a46c @@ -7070,16 +7086,16 @@ trackedFiles: pristine_git_object: 5d7ad244004b672076c16c944de284e20679c42c src/gusto_embedded/models/get_v1_companies_company_id_pay_schedules_previewop.py: id: 936c97f5866f - last_write_checksum: sha1:072befab5b4a31c3e231022042da7f32d112398e - pristine_git_object: 880041a52efaba92e1606d7f705eb150b4987814 + last_write_checksum: sha1:577bb0281b1cacff6835237abfbbc6f747afc831 + pristine_git_object: 0b5e94fb6d261ac447d59d9eea7320855ddf2de5 src/gusto_embedded/models/get_v1_companies_company_id_pay_schedulesop.py: id: a6cbae81cbcc last_write_checksum: sha1:c57d73ff093e80b55b8aada5ed193035e791c7d0 pristine_git_object: 00d14c3b9756e0c57bff10c318f53ad16151be7a src/gusto_embedded/models/get_v1_companies_company_id_payroll_reversalsop.py: id: 4e0564806349 - last_write_checksum: sha1:ec02870256546bd9b363aaa692c0ae1eba0c340f - pristine_git_object: 026917b811782a99ae994ecd585943d21ac5853e + last_write_checksum: sha1:3d41da81faa8982b187f2e242e81f70cda597aa7 + pristine_git_object: 75f6360096e6219ec94c196c1c1b782c4a5779e8 src/gusto_embedded/models/get_v1_companies_company_id_payrolls_id_partner_disbursementsop.py: id: 1c248e5a93ea last_write_checksum: sha1:2a5d2a7cb45c6896a422ed065b795ab7ead293cc @@ -7174,8 +7190,8 @@ trackedFiles: pristine_git_object: 9687b03ede407b02bba66340c59563aa036793cd src/gusto_embedded/models/get_v1_company_onboarding_statusop.py: id: e1929e1e7dd3 - last_write_checksum: sha1:75683f2ff575d2c78539d0e88677f606d5e45ee0 - pristine_git_object: 56c4a8ea3870bf0b2aadcd1f5088d96398a9d5ee + last_write_checksum: sha1:f6c2b0cb3a83cfc3481a9cec67507c0893cf084d + pristine_git_object: c8888ca5ae78d638336aae84ea551cb5c3d99468 src/gusto_embedded/models/get_v1_company_payment_configsop.py: id: e0fb4e6b0ecf last_write_checksum: sha1:aa4154204af1459107c824644384eed3cc83dc70 @@ -7270,8 +7286,8 @@ trackedFiles: pristine_git_object: cd1cbe5a609bddb810b38f9bdbf8a08ff2676a11 src/gusto_embedded/models/get_v1_employees_employee_id_custom_fieldsop.py: id: 50fedd2d4122 - last_write_checksum: sha1:869b46f06a483d0b54dc2aee3039515819162b70 - pristine_git_object: 28b846ae5f3baeabaa5cfe67f011fb0059e08542 + last_write_checksum: sha1:b2b495e2a69f978d09c872846f055006011be3cb + pristine_git_object: 88c0735951327df0124d9a9c2bf852bd1d127155 src/gusto_embedded/models/get_v1_employees_employee_id_employee_benefitsop.py: id: a8ebe71af872 last_write_checksum: sha1:6950571359a7da9f6ba1a89d21795a1dc679c216 @@ -7306,8 +7322,8 @@ trackedFiles: pristine_git_object: 0068438ae1867da2b306d7e32ec0eaa75eb04bca src/gusto_embedded/models/get_v1_employees_employee_id_jobsop.py: id: 2b866ea85644 - last_write_checksum: sha1:92cb1bc4ce26aa5329c07ea86a2c706eec0b9e4e - pristine_git_object: dbd67f6705349bdabb95a1bb830e00b19c195706 + last_write_checksum: sha1:ef7868d999a7b48a5a1dbcd2d04fb7c60955185a + pristine_git_object: 956658c1d08379385cffcb9b8f8321c67a22afb8 src/gusto_embedded/models/get_v1_employees_employee_id_onboarding_statusop.py: id: 833ffa952869 last_write_checksum: sha1:8652690982852726e46ee39c641fd09397e28595 @@ -7370,8 +7386,8 @@ trackedFiles: pristine_git_object: aac3d80347c23d682a4ca463f8ea35ace7c4c5a0 src/gusto_embedded/models/get_v1_generated_documents_document_type_request_uuidop.py: id: 17bc1d419d8d - last_write_checksum: sha1:e0fa26ddda41d2b891e69384726351ba3933a39d - pristine_git_object: b10ed5e5daba8f8a58c3f166c00de210a7857c37 + last_write_checksum: sha1:bac6401fbc46b41324a2f09f6e4155b6080c184a + pristine_git_object: a696890c6fa5c214166aaa7973c0228a22d2d216 src/gusto_embedded/models/get_v1_home_addresses_home_address_uuidop.py: id: 4dfd70846c04 last_write_checksum: sha1:1f41d0152fb7095684554e3b1d3a099607dea2a0 @@ -7382,8 +7398,8 @@ trackedFiles: pristine_git_object: 0b195da8841d50d70db47d14b735d09091120baa src/gusto_embedded/models/get_v1_jobs_job_idop.py: id: 3303990857f5 - last_write_checksum: sha1:17a4c0579bd26f09b455b5c8099b7aae7c8152f1 - pristine_git_object: 20aadbbf3808003569b47bec93acf050b396f64f + last_write_checksum: sha1:64a50412d0ff291b8128da3785da308ab0d8eec5 + pristine_git_object: 710ba7cae27a47a382f06bafb878158b6b1edb79 src/gusto_embedded/models/get_v1_locations_location_idop.py: id: 7f4c06cacce9 last_write_checksum: sha1:bc5aafd2d5a63cb8274d9b4cb65f30b20bc027a1 @@ -7754,8 +7770,8 @@ trackedFiles: pristine_git_object: 8f54e3a19c3a29e6dcd7b64b976aae4eddd294df src/gusto_embedded/models/payroll_digest_results.py: id: 7b64db930acd - last_write_checksum: sha1:3451449f66bd3769ad048bb7e4f5c38df0aee144 - pristine_git_object: 116a3e403e24f0396d7fcc90e38b8d056c893914 + last_write_checksum: sha1:9a729f20e371271fd779cef5fb1d1d6033863a02 + pristine_git_object: d32e4d3fa44447aca056d361595de3bc264272b4 src/gusto_embedded/models/payroll_employee_compensations_type.py: id: 7aab80b80362 last_write_checksum: sha1:13f1a571abb3c5be2367c63e122173550fef7f93 @@ -8078,8 +8094,8 @@ trackedFiles: pristine_git_object: 50f39f514787b8499dba6e3565bc7acc822d424e src/gusto_embedded/models/post_v1_webhook_subscriptionop.py: id: 24ea9bb24f88 - last_write_checksum: sha1:05c2bce270d34697004f14baf688b50bc9baa164 - pristine_git_object: cd0b0fcee55dcb47bb8694ba7c6b2bedd4b559da + last_write_checksum: sha1:869813c27d929a957df9ea23157b6c2639d59dfb + pristine_git_object: 23637a4ede6402f30e708cca733963ea48913550 src/gusto_embedded/models/printable_payroll_checks_body.py: id: ee75b8325b62 last_write_checksum: sha1:53846384f8ca3fd075e69236810ddc5608d712dd @@ -8342,8 +8358,8 @@ trackedFiles: pristine_git_object: 6955b2f9365a0199222fcd0dfcb971fd2703d4fb src/gusto_embedded/models/put_v1_webhook_subscription_uuidop.py: id: 8eab1325e44c - last_write_checksum: sha1:25ea474f12dc2407fdf10b7029046adb13894b56 - pristine_git_object: d34ef888af4ba5f9d4e7afc47b6a60bd227a9e0b + last_write_checksum: sha1:9244d88bd9dc3c613e9a157bc555fb736bd0743e + pristine_git_object: 49ca41104ec935f2dd3529b07c9fedc0ec2b4276 src/gusto_embedded/models/put_v1_work_addresses_work_address_uuidop.py: id: 167064fde0d2 last_write_checksum: sha1:0fe8086688ae963acf172554145bdf78b8b95363 @@ -8496,14 +8512,10 @@ trackedFiles: id: 70617a35a9cd last_write_checksum: sha1:6dd7daf4214ff2c60dd13edeca62f1cacd0d8d9c pristine_git_object: 24f906fd0412500871562acd106e0d848193aa1d - src/gusto_embedded/models/versionheader.py: - id: b620576fcaf8 - last_write_checksum: sha1:8d017ddb4fff56795b72d1404dcc2e7625d5967d - pristine_git_object: 9a6675ebfe24a1dc81c45817ac3f5f66125d4788 src/gusto_embedded/models/webhook_subscription.py: id: 480ea730377d - last_write_checksum: sha1:ce0713db8de2773e3759bad40d6094f48d8d26f0 - pristine_git_object: 8112e99fa033c81d2bddfc0cc6e30153ca34a4f4 + last_write_checksum: sha1:d060e11bc75e3e5ca2f3fadbb30e019ab2c7ac4a + pristine_git_object: 706ac8f0021f393b8f296ed19e907d1d0c920828 src/gusto_embedded/models/webhook_verification_token_response.py: id: ad48325b6c9a last_write_checksum: sha1:0caa7cba47ff3ec8211de844f08783b2126b1a48 @@ -8530,28 +8542,28 @@ trackedFiles: pristine_git_object: cdef923990656ebb4106844ca196cc6e37090dc1 src/gusto_embedded/notifications.py: id: a78523aedb9d - last_write_checksum: sha1:572f44f28fd3d0d4a0cf27e745f4980ba99bec07 - pristine_git_object: 8001022c9d5cf37f61ff126f1c9b06ae08fd9c54 + last_write_checksum: sha1:e462f38f1a20bae1686862227ff5ea869c4a6392 + pristine_git_object: 47405604ccff9856c1dd4b7e397d16da0b8448fe src/gusto_embedded/paymentconfigs_sdk.py: id: 3110fe6af7c8 last_write_checksum: sha1:575a28ecc20de8ad84d5db9357c4a2ebb1fa3d22 pristine_git_object: 982cdbdab1ad71701c7c980454a84237e656db0a src/gusto_embedded/payroll_digests.py: id: 578cfc3cac71 - last_write_checksum: sha1:ab33280b0ef005103800a44b2727fa8fbc7a2a0b - pristine_git_object: 064f39e5a605c34f62cadd894c3cdcc01b1b7e90 + last_write_checksum: sha1:2a2cc5979f2d9306a4ea8aed0a26f48d8aef7319 + pristine_git_object: 57ffac2a4b50758de795dd031b236c023a7b939b src/gusto_embedded/payrolls.py: id: 364a259bac8a - last_write_checksum: sha1:2de2eac276b935f5c835235f5f74ccc2ceb356e7 - pristine_git_object: e9b57f1b4f2910219111611dc0ee01617a5c73fb + last_write_checksum: sha1:2bd4fbc3a33b88d84585f7ada57d977562638565 + pristine_git_object: 273f390f586dda25e81ece3a5918014614547d6c src/gusto_embedded/payschedules.py: id: 0ec432705759 - last_write_checksum: sha1:5e105cab736721c50e648a0e214cfee2b832cb04 - pristine_git_object: f6904696c0832d8ccd38fc27b32fe163ed0eab4a + last_write_checksum: sha1:391481a540341d507d6655782d020cbe5b6294fa + pristine_git_object: a10e4576a2fc71679558b93fccf1c8b707846a76 src/gusto_embedded/people_batches.py: id: 0e0683c2efd1 - last_write_checksum: sha1:025c62bd821930238e8978f59129ed053275260f - pristine_git_object: 39f8beb676f580c5dac9da238a5ce008e06d57a2 + last_write_checksum: sha1:c1ae7936f90448ac3a619c5eb79555b81ba47a9b + pristine_git_object: cdfcf55fac96abeaef85f7f93adfa1fbd3f4a2b6 src/gusto_embedded/py.typed: id: 0c5e0eb0d140 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 @@ -8582,16 +8594,16 @@ trackedFiles: pristine_git_object: b38f08e20005564a3921a1d9274013b4ffeed81f src/gusto_embedded/signatories.py: id: c0e673a7572f - last_write_checksum: sha1:453f48d8ec0ce2a736d0366c8a8d51129d56404a - pristine_git_object: e5ff9d77873b8e53329c4b9fc6b9b94dd1324d81 + last_write_checksum: sha1:a91e913ba0e8ff974a43b9a6a9d4ac50c25c98a1 + pristine_git_object: 93be39f438d74a3b43c8d0482b8c008b280a8b87 src/gusto_embedded/suspensions.py: id: 1aa6750797e7 last_write_checksum: sha1:56206c4fd6823a430230ff82d27301141505da24 pristine_git_object: c6a0b4be8bb6b141e48fef990d4354ab4dbcff9c src/gusto_embedded/taxrequirements.py: id: 0e32a0a90063 - last_write_checksum: sha1:69523663278c075f602a7d487dc61732ee8a12cd - pristine_git_object: 6b8934ef2c15ade83069441aaa650f6d59e84c01 + last_write_checksum: sha1:9aee111a03b6ba6d2cc6ae7d337a03ffdf2f39e8 + pristine_git_object: 31ef16ac4f328b797252350b11e5b7ece5a7bb3c src/gusto_embedded/time_off_requests.py: id: 1bbba985ac45 last_write_checksum: sha1:3c6a38356d649163865de18c23f68f7edf7f90e0 @@ -8686,12 +8698,12 @@ trackedFiles: pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3 src/gusto_embedded/webhooks.py: id: 43c4790b19e7 - last_write_checksum: sha1:b919b163304ea5e3a1a7669a50e70099948bfae1 - pristine_git_object: d1aa178a03df5df2efa45656619f446ed38b54a5 + last_write_checksum: sha1:efe156110ce3fc689a1a4d43284bb09f8e95f25a + pristine_git_object: 970e4015341f1e1b38e534737e96af7609ac5932 src/gusto_embedded/wireinrequests.py: id: 46add81b9145 - last_write_checksum: sha1:8254afc72c4bd558575b5b6d280c1201ec8ab826 - pristine_git_object: e13c3e1d81cc5721b82a25e696e393196a7cd4e0 + last_write_checksum: sha1:a2c1d543ddb4fc8bb2b5c1a7db062d8cb57ab61b + pristine_git_object: 8dd0745aff26160282ddd324103826cdc424e5d4 examples: get-v1-token-info: speakeasy-default-get-v1-token-info: @@ -10593,6 +10605,9 @@ examples: X-Gusto-API-Version: "2025-06-15" requestBody: application/json: {"start_date": "2025-07-01"} + responses: + "422": + application/json: {"errors": [{"error_key": "", "category": ""}]} delete-v1-contractors-contractor_uuid-rehire: speakeasy-default-delete-v1-contractors-contractor-uuid-rehire: parameters: @@ -10600,6 +10615,9 @@ examples: contractor_uuid: "" header: X-Gusto-API-Version: "2025-06-15" + responses: + "422": + application/json: {"errors": []} post-v1-contractors-contractor_uuid-termination: speakeasy-default-post-v1-contractors-contractor-uuid-termination: parameters: @@ -10609,6 +10627,9 @@ examples: X-Gusto-API-Version: "2025-06-15" requestBody: application/json: {"end_date": "2025-06-15"} + responses: + "422": + application/json: {"errors": [{"error_key": "", "category": ""}]} delete-v1-contractors-contractor_uuid-termination: speakeasy-default-delete-v1-contractors-contractor-uuid-termination: parameters: @@ -10616,6 +10637,9 @@ examples: contractor_uuid: "" header: X-Gusto-API-Version: "2025-06-15" + responses: + "422": + application/json: {"errors": []} get-v1-contractors-contractor_uuid-bank_accounts: speakeasy-default-get-v1-contractors-contractor-uuid-bank-accounts: parameters: @@ -12814,7 +12838,7 @@ examples: application/json: {"errors": [{"error_key": "", "category": ""}]} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes:\n* `gusto.employee_payment_method.update_bank_account()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payment_configs.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.migrate()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.wire_in_requests.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n* `gusto.wire_in_requests.submit()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.wire_in_requests.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.ach_transactions.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.recovery_cases.redebit()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.recovery_cases.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.information_requests.get_information_requests()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.events.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[422]` **Added**\n* `gusto.notifications.get_details()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.preview_paid_holidays()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.remove_employees()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.federal_holidays` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.add_employees()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.federal_holidays` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.federal_holidays` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.create()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.federal_holidays` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.holiday_pay_policies.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.tax_requirements.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed**\n * `error.status[404]` **Added**\n* `gusto.tax_requirements.update_state()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.tax_requirements.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.requirement_sets[].requirements[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.i9verification.employer_sign()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.i9verification.delete_document()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.i9verification.create_documents()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.i9verification.get_documents()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].expiration_date` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.i9verification.get_document_options()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.i9verification.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.i9verification.get_authorization()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.garnishments.get_child_support_data()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto.garnishments.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.garnishments.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.garnishments.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.garnishments.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_benefits.create_ytd_benefit_amounts_from_different_company()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_benefits.get_ytd_benefit_amounts_from_different_company()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_benefits.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.employee_benefits.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_benefits.retrieve()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_benefits.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_benefits.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.company_benefits.get_requirements()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.company_benefits.update_employee_benefits()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.company_benefits.get_employee_benefits()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.company_benefits.get_summary()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employees` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.introspection.get_info()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n* `gusto.company_benefits.get_supported()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.writable_by_application` **Added**\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto.company_benefits.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].writable_by_application` **Added**\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto.company_benefits.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.company_benefits.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.catch_up_type` **Added**\n * `error.status[404]` **Added**\n* `gusto.companies.accept_terms_of_service()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.retrieve_terms_of_service()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.create_admin()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.phone` **Added**\n * `error.status[404]` **Added**\n* `gusto.companies.list_admins()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].phone` **Added**\n * `error.status[404]` **Added**\n* `gusto.companies.get_onboarding_status()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.onboarding_steps[].completed_at` **Added**\n * `error.status[404]` **Added**\n* `gusto.companies.finish_onboarding()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.onboarding_steps[].completed_at` **Added**\n * `error.status[404]` **Added**\n* `gusto.companies.get_custom_fields()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.custom_fields[].description` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_payment_method.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.suspensions.suspend()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `gusto.invoices.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto.company_attachments.get_details()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.company_attachments.get_list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed**\n * `error.status[404]` **Added**\n* `gusto.company_attachments.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.company_attachment.get_download_url()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.federal_tax_details.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.federal_tax_details.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.industry_selection.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.industry_selection.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.signatories.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.home_address` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.signatories.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].home_address` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.signatories.invite()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.home_address` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.signatories.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.home_address` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.signatories.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.flows.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.locations.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.locations.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.locations.retrieve()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.locations.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.locations.get_minimum_wages()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.bank_accounts.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.bank_accounts.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].reverse_wire_enabled` **Added**\n * `error.status[404]` **Added**\n* `gusto.bank_accounts.verify()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.reverse_wire_enabled` **Added**\n * `error.status[404]` **Added**\n* `gusto.bank_accounts.create_from_plaid_token()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.external_payrolls.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.applicable_benefits` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.external_payrolls.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.external_payrolls.retrieve()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.applicable_benefits` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.external_payrolls.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.external_payrolls.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.applicable_benefits` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.external_payrolls.calculate_taxes()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.external_payrolls.list_tax_liabilities()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.external_payrolls.update_tax_liabilities()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.external_payrolls.finalize_tax_liabilities()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payment_configs.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_payment_method.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.pay_schedules.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.pay_schedules.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.pay_schedules.get_preview()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.pay_schedules.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.pay_schedules.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.pay_schedules.get_pay_periods()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.pay_schedules.get_unprocessed_termination_periods()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.pay_schedules.get_assignments()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employees[].pay_schedule_uuid` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.pay_schedules.preview_assignment()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.pay_schedules.assign()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employees.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employees.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employees.create_historical()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employees.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employees.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employees.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.employees.get_custom_fields()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.custom_fields[].description` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employees.update_onboarding_documents_config()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employees.get_onboarding_status()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employees.update_onboarding_status()`: \n * `request` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employees.get_time_off_activities()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.historical_employees.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.departments.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.departments.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.departments.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.departments.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.departments.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.departments.add_people()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.departments.remove_people()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.employee_employments.create_termination()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_employments.get_terminations()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_employments.delete_termination()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.employee_employments.update_termination()`: \n * `request` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employee_employments.create_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_employments.rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employee_employments.get_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.status[204]` **Added** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employee_employments.delete_rehire()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.employee_employments.get_history()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].termination_date` **Changed** (Breaking ⚠️)\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.employee_addresses.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.retrieve_home_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.get_work_addresses()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.create_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.retrieve_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.update_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_addresses.delete_work_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_tax_setup.get_federal_taxes()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_tax_setup.update_federal_taxes()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.employee_tax_setup.get_state_taxes()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_tax_setup.update_state_taxes()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_payment_method.create()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_payment_method.delete_bank_account()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.company_benefits.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.suspensions.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.companies.create_partner_managed()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[401]` **Removed** (Breaking ⚠️)\n* `gusto.employee_payment_methods.get_bank_accounts()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.create_job()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.get_jobs()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.get_job()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.jobs_and_compensations.get_compensations()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].title` **Added**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.create_compensation()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.title` **Added**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.get_compensation()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.title` **Added**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.update_compensation()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.title` **Added**\n * `error.status[404]` **Added**\n* `gusto.jobs_and_compensations.delete_compensation()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.earning_types.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.active` **Added**\n * `error.status[404]` **Added**\n* `gusto.earning_types.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.default[].active` **Added**\n * `error.status[404]` **Added**\n* `gusto.earning_types.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.active` **Added**\n * `error.status[404]` **Added**\n* `gusto.earning_types.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.create()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.contractors.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.contractors.get_onboarding_status()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.onboarding_status` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.update_onboarding_status()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.onboarding_status` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.get_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractors.update_address()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_methods.create_bank_account()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_method.get_bank_accounts()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed**\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_method.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.type` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_method.update()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.type` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.webhooks.create_subscription()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto.webhooks.list_subscriptions()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Removed** (Breaking ⚠️)\n* `gusto.webhooks.update_subscription()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.webhooks.get_subscription()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.webhooks.delete_subscription()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.webhooks.verify()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.subscription_types[].enum(payroll_sync)` **Added** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.webhooks.request_verification_token()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.status[200]` **Added**\n * `error.status[404]` **Added**\n* `gusto.contractor_forms.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_forms.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_forms.get_pdf()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_forms.generate1099()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_documents.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].fields[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_documents.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.fields[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.contractor_documents.get_pdf()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.contractor_documents.sign()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.employee_forms.generate_w2()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_forms.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[].employee_uuid` **Added**\n * `error.status[404]` **Added**\n* `gusto.employee_forms.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employee_uuid` **Added**\n * `error.status[404]` **Added**\n* `gusto.employee_forms.get_pdf()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.employee_forms.sign()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employee_uuid` **Added**\n * `error.status[404]` **Added**\n* `gusto.payrolls.create_off_cycle()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.get_approved_reversals()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.payrolls.prepare()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.payrolls.get_receipt()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employee_compensations[].payment_method` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.get_blockers()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.skip()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.payrolls.calculate_gross_up()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.payrolls.calculate()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.payrolls.submit()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.payrolls.cancel()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.payrolls.get_pay_stub()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.status[200].content[application/pdf` **Added**\n * `error.status[404]` **Added**\n* `gusto.payrolls.get_pay_stubs()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[].payment_method` **Added**\n * `errors[]` **Changed** (Breaking ⚠️)\n* `gusto.payrolls.generate_printable_checks()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.starting_check_number` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.calculate_accruing_time_off_hours()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.get_all()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.add_employees()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.remove_employees()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.update_balance()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.time_off_policies.deactivate()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.get_receipt()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.contractor_payments[].payment_method` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.fund()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payments.preview()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.expected_debit_date` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `gusto.contractor_payment_groups.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_groups.get_list()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed**\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_groups.preview()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_groups.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_groups.delete()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.contractor_payment_groups.fund()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response` **Changed**\n * `error.status[404]` **Added**\n* `gusto.company_forms.get_all()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[].employee_uuid` **Added**\n * `error.status[404]` **Added**\n* `gusto.company_forms.get()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employee_uuid` **Added**\n * `error.status[404]` **Added**\n* `gusto.company_forms.get_pdf()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.company_forms.sign()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `response.employee_uuid` **Added**\n * `error.status[404]` **Added**\n* `gusto.generated_documents.get()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.reports.create_custom()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[404]` **Added**\n* `gusto.reports.get_template()`: \n * `request.x_gusto_api_version` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `gusto.company_benefits.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.catch_up_type` **Added**\n * `error.status[404]` **Added**\n* `gusto.company_benefits.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[].catch_up_type` **Added**\n * `error.status[404]` **Added**\n* `gusto.introspection.oauth_access_token()`: **Added**\n* `gusto.employees.get_v1_companies_company_id_employees_payment_details()`: **Added**\n* `gusto.time_off_requests.delete_v1_time_off_requests_time_off_request_uuid()`: **Added**\n* `gusto.time_off_requests.get_v1_time_off_requests_time_off_request_uuid()`: **Added**\n* `gusto.time_off_requests.post_v1_companies_company_uuid_time_off_requests_preview()`: **Added**\n* `gusto.time_off_requests.get_v1_companies_company_uuid_time_off_requests()`: **Added**\n* `gusto.time_off_requests.get_v1_companies_company_uuid_time_off_balances()`: **Added**\n* `gusto.time_off_requests.post_v1_companies_company_uuid_time_off_admin_approved_requests()`: **Added**\n* `gusto.people_batches.get_v1_people_batches_people_batch_uuid()`: **Added**\n* `gusto.people_batches.post_v1_companies_company_id_people_batches()`: **Added**\n* `gusto.reimbursements.delete_v1_recurring_reimbursements()`: **Added**\n* `gusto.reimbursements.put_v1_recurring_reimbursements()`: **Added**\n* `gusto.employee_benefits.get_v1_employees_employee_uuid_section603_high_earner_statuses()`: **Added**\n* `gusto.reimbursements.post_v1_employees_employee_id_recurring_reimbursements()`: **Added**\n* `gusto.reimbursements.get_v1_employees_employee_id_recurring_reimbursements()`: **Added**\n* `gusto.salary_estimates.get_v1_salary_estimates_occupations()`: **Added**\n* `gusto.salary_estimates.post_v1_salary_estimates_uuid_accept()`: **Added**\n* `gusto.salary_estimates.put_v1_salary_estimates_id()`: **Added**\n* `gusto.salary_estimates.get_v1_salary_estimates_id()`: **Added**\n* `gusto.salary_estimates.post_v1_employees_employee_id_salary_estimates()`: **Added**\n* `gusto.company_benefits.get_v1_company_benefits_company_benefit_id_contribution_exclusions()`: **Added**\n* `gusto.notifications.get_company_notifications()`: **Added**\n* `gusto.employee_benefits.patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_year()`: **Added**\n* `gusto.employee_benefits.get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_year()`: **Added**\n* `gusto.time_off_requests.put_v1_time_off_requests_time_off_request_uuid_approve()`: **Added**\n* `gusto.employee_benefits.post_v1_employees_employee_uuid_section603_high_earner_statuses()`: **Added**\n* `gusto.reimbursements.get_v1_recurring_reimbursements()`: **Added**\n* `gusto.information_requests.submit()`: **Added**\n* `gusto.reports.post_v1_companies_company_id_reports_employees_annual_fica_wage()`: **Added**\n* `gusto.reports.get_reports_request_uuid()`: **Added**\n* `gusto.reports.post_payrolls_payroll_uuid_reports_general_ledger()`: **Added**\n* `gusto.contractor_payment_groups.patch_v1_contractor_payment_groups_id_partner_disbursements()`: **Added**\n* `gusto.contractor_payment_groups.get_v1_contractor_payment_groups_id_partner_disbursements()`: **Added**\n* `gusto.contractor_payments.get_v1_contractor_payments_contractor_payment_id_pdf()`: **Added**\n* `gusto.payrolls.patch_v1_companies_company_id_payrolls_id_partner_disbursements()`: **Added**\n* `gusto.payrolls.get_v1_companies_company_id_payrolls_id_partner_disbursements()`: **Added**\n* `gusto.webhooks.get_v1_webhooks_health_check()`: **Added**\n* `gusto.contractors.delete_v1_contractors_contractor_uuid_termination()`: **Added**\n* `gusto.contractors.post_v1_contractors_contractor_uuid_termination()`: **Added**\n* `gusto.contractors.delete_v1_contractors_contractor_uuid_rehire()`: **Added**\n* `gusto.contractors.post_v1_contractors_contractor_uuid_rehire()`: **Added**\n* `gusto.contractors.get_v1_companies_company_id_contractors_payment_details()`: **Added**\n* `gusto.employee_employments.get_v1_terminations_employee_id()`: **Added**\n* `gusto.time_off_requests.post_v1_companies_company_uuid_time_off_requests()`: **Added**\n* `gusto.bank_accounts.delete_v1_companies_company_id_bank_accounts_bank_account_id()`: **Added**\n* `gusto.companies.get_v1_partner_managed_companies_company_uuid_migration_readiness()`: **Added**\n* `gusto.company_benefits.put_v1_company_benefits_company_benefit_id_contribution_exclusions()`: **Added**\n* `gusto.time_off_requests.put_v1_time_off_requests_time_off_request_uuid_decline()`: **Added**\n* `gusto.payroll_digests.post_v1_payroll_digests()`: **Added**\n* `gusto.payroll_digests.get_v1_payroll_digests_payroll_digest_uuid()`: **Added**\n* `gusto.introspection.refresh_token()`: **Removed** (Breaking ⚠️)\n* `gusto.reports.get()`: **Removed** (Breaking ⚠️)\n" +releaseNotes: "## Python SDK Changes:\n* `gusto.webhooks.list_subscriptions()`: `response.[].subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto.webhooks.verify()`: `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto.webhooks.update_subscription()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto.webhooks.get_subscription()`: `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto.webhooks.create_subscription()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added** (Breaking ⚠️)\n* `gusto.contractors.post_v1_contractors_contractor_uuid_rehire()`: `error.status[422]` **Added**\n* `gusto.contractors.delete_v1_contractors_contractor_uuid_termination()`: `error.status[422]` **Added**\n* `gusto.contractors.post_v1_contractors_contractor_uuid_termination()`: `error.status[422]` **Added**\n* `gusto.contractors.delete_v1_contractors_contractor_uuid_rehire()`: `error.status[422]` **Added**\n* `gusto.pay_schedules.get_preview()`: `request.pay_schedule_uuid` **Added**\n* `gusto.employees.update_onboarding_status()`: `response.blockers` **Added**\n* `gusto.employees.get_onboarding_status()`: `response.blockers` **Added**\n* `gusto.payrolls.get_approved_reversals()`: `request.x_gusto_api_version` **Changed**\n* `gusto.generated_documents.get()`: `request.x_gusto_api_version` **Changed**\n" generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json diff --git a/gusto_embedded/.speakeasy/gen.yaml b/gusto_embedded/.speakeasy/gen.yaml index 0d347e8f..6f91614a 100644 --- a/gusto_embedded/.speakeasy/gen.yaml +++ b/gusto_embedded/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.4.0 + version: 0.4.1 additionalDependencies: dev: {} main: {} @@ -85,6 +85,7 @@ python: preApplyUnionDiscriminators: false pytestFilterWarnings: [] pytestTimeout: 0 + rawResponseHelpers: false responseFormat: flat sseFlatResponse: false templateVersion: v2 diff --git a/gusto_embedded/README-PYPI.md b/gusto_embedded/README-PYPI.md index ebc9b8a9..8df7a40a 100644 --- a/gusto_embedded/README-PYPI.md +++ b/gusto_embedded/README-PYPI.md @@ -899,7 +899,7 @@ with Gusto() as gusto: **Inherit from [`GustoError`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded/./src/gusto_embedded/models/gustoerror.py)**: -* [`UnprocessableEntityError1`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded/./src/gusto_embedded/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 159 of 299 methods.* +* [`UnprocessableEntityError1`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded/./src/gusto_embedded/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 163 of 299 methods.* * [`ConflictErrorObject`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded/./src/gusto_embedded/models/conflicterrorobject.py): Conflict This error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry. Status code `409`. Applicable to 2 of 299 methods.* * [`PeopleBatchConflictError`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded/./src/gusto_embedded/models/peoplebatchconflicterror.py): Error response when a people batch idempotency key conflict occurs. Status code `409`. Applicable to 1 of 299 methods.* * [`PayrollDigestConflictError`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded/./src/gusto_embedded/models/payrolldigestconflicterror.py): Error response when a payroll digest idempotency key has already been used by the same partner. Status code `409`. Applicable to 1 of 299 methods.* diff --git a/gusto_embedded/README.md b/gusto_embedded/README.md index 75a133f1..d69d018c 100644 --- a/gusto_embedded/README.md +++ b/gusto_embedded/README.md @@ -899,7 +899,7 @@ with Gusto() as gusto: **Inherit from [`GustoError`](./src/gusto_embedded/models/gustoerror.py)**: -* [`UnprocessableEntityError1`](./src/gusto_embedded/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 159 of 299 methods.* +* [`UnprocessableEntityError1`](./src/gusto_embedded/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 163 of 299 methods.* * [`ConflictErrorObject`](./src/gusto_embedded/models/conflicterrorobject.py): Conflict This error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry. Status code `409`. Applicable to 2 of 299 methods.* * [`PeopleBatchConflictError`](./src/gusto_embedded/models/peoplebatchconflicterror.py): Error response when a people batch idempotency key conflict occurs. Status code `409`. Applicable to 1 of 299 methods.* * [`PayrollDigestConflictError`](./src/gusto_embedded/models/payrolldigestconflicterror.py): Error response when a payroll digest idempotency key has already been used by the same partner. Status code `409`. Applicable to 1 of 299 methods.* diff --git a/gusto_embedded/docs/models/blockers.md b/gusto_embedded/docs/models/blockers.md index b96b99de..e2db1ac3 100644 --- a/gusto_embedded/docs/models/blockers.md +++ b/gusto_embedded/docs/models/blockers.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `type` | *Optional[str]* | :heavy_minus_sign: | A machine-readable blocker key (e.g. `missing_bank_account`). | -| `description` | *Optional[str]* | :heavy_minus_sign: | Human-readable description of the blocker. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `field` | [Optional[models.FieldT]](../models/fieldt.md) | :heavy_minus_sign: | The employee field affected. | +| `category` | [Optional[models.EmployeeOnboardingStatusCategory]](../models/employeeonboardingstatuscategory.md) | :heavy_minus_sign: | Category of the blocker. See the array-level description for resolution guidance. | +| `message` | *Optional[str]* | :heavy_minus_sign: | Human-readable description of the blocker. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletedepartmentrequest.md b/gusto_embedded/docs/models/deletedepartmentrequest.md index fa5403d9..5e11e97f 100644 --- a/gusto_embedded/docs/models/deletedepartmentrequest.md +++ b/gusto_embedded/docs/models/deletedepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1companiescompanyidpayrollsrequest.md b/gusto_embedded/docs/models/deletev1companiescompanyidpayrollsrequest.md index 8ae555aa..9c17b705 100644 --- a/gusto_embedded/docs/models/deletev1companiescompanyidpayrollsrequest.md +++ b/gusto_embedded/docs/models/deletev1companiescompanyidpayrollsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/deletev1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | -| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/deletev1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md b/gusto_embedded/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md index 64eb8d98..bc943c39 100644 --- a/gusto_embedded/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md +++ b/gusto_embedded/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/deletev1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `signatory_uuid` | *str* | :heavy_check_mark: | The UUID of the signatory | -| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/deletev1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `signatory_uuid` | *str* | :heavy_check_mark: | The UUID of the signatory | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md b/gusto_embedded/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md index 151e2c4b..b8aac029 100644 --- a/gusto_embedded/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md +++ b/gusto_embedded/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/deletev1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/deletev1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1contractorscontractoruuidrehirerequest.md b/gusto_embedded/docs/models/deletev1contractorscontractoruuidrehirerequest.md index a7b067eb..9b156172 100644 --- a/gusto_embedded/docs/models/deletev1contractorscontractoruuidrehirerequest.md +++ b/gusto_embedded/docs/models/deletev1contractorscontractoruuidrehirerequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | -| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDRehireHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidrehireheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDRehireHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidrehireheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1contractorscontractoruuidterminationrequest.md b/gusto_embedded/docs/models/deletev1contractorscontractoruuidterminationrequest.md index 2496ffc8..00717d08 100644 --- a/gusto_embedded/docs/models/deletev1contractorscontractoruuidterminationrequest.md +++ b/gusto_embedded/docs/models/deletev1contractorscontractoruuidterminationrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | -| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDTerminationHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidterminationheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDTerminationHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidterminationheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1jobsjobidrequest.md b/gusto_embedded/docs/models/deletev1jobsjobidrequest.md index 6724cfe6..6d9df121 100644 --- a/gusto_embedded/docs/models/deletev1jobsjobidrequest.md +++ b/gusto_embedded/docs/models/deletev1jobsjobidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | -| `x_gusto_api_version` | [Optional[models.DeleteV1JobsJobIDHeaderXGustoAPIVersion]](../models/deletev1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1JobsJobIDHeaderXGustoAPIVersion]](../models/deletev1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1webhooksubscriptionuuidrequest.md b/gusto_embedded/docs/models/deletev1webhooksubscriptionuuidrequest.md index b44156c9..3b1cbfd9 100644 --- a/gusto_embedded/docs/models/deletev1webhooksubscriptionuuidrequest.md +++ b/gusto_embedded/docs/models/deletev1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/deletev1workaddressesworkaddressuuidrequest.md b/gusto_embedded/docs/models/deletev1workaddressesworkaddressuuidrequest.md index e21c51ef..103375b8 100644 --- a/gusto_embedded/docs/models/deletev1workaddressesworkaddressuuidrequest.md +++ b/gusto_embedded/docs/models/deletev1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_embedded/docs/models/employeeonboardingstatus.md b/gusto_embedded/docs/models/employeeonboardingstatus.md index 1bcf0840..08704151 100644 --- a/gusto_embedded/docs/models/employeeonboardingstatus.md +++ b/gusto_embedded/docs/models/employeeonboardingstatus.md @@ -5,8 +5,9 @@ The representation of an employee's onboarding status. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `uuid` | *str* | :heavy_check_mark: | Unique identifier for this employee. | -| `onboarding_status` | *Optional[str]* | :heavy_minus_sign: | One of the "onboarding_status" enum values. | -| `onboarding_steps` | List[[models.EmployeeOnboardingStatusOnboardingStep](../models/employeeonboardingstatusonboardingstep.md)] | :heavy_minus_sign: | List of steps required to onboard an employee. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `uuid` | *str* | :heavy_check_mark: | Unique identifier for this employee. | +| `onboarding_status` | *Optional[str]* | :heavy_minus_sign: | One of the "onboarding_status" enum values. | +| `onboarding_steps` | List[[models.EmployeeOnboardingStatusOnboardingStep](../models/employeeonboardingstatusonboardingstep.md)] | :heavy_minus_sign: | List of steps required to onboard an employee. | +| `blockers` | List[[models.Blockers](../models/blockers.md)] | :heavy_minus_sign: | Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message.

Supported categories:

- `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict.

This list may grow over time as new validation rules are added.
| \ No newline at end of file diff --git a/gusto_embedded/docs/models/employeeonboardingstatuscategory.md b/gusto_embedded/docs/models/employeeonboardingstatuscategory.md new file mode 100644 index 00000000..669ec033 --- /dev/null +++ b/gusto_embedded/docs/models/employeeonboardingstatuscategory.md @@ -0,0 +1,18 @@ +# EmployeeOnboardingStatusCategory + +Category of the blocker. See the array-level description for resolution guidance. + +## Example Usage + +```python +from gusto_embedded.models import EmployeeOnboardingStatusCategory + +value = EmployeeOnboardingStatusCategory.DUPLICATE_VALUE +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `DUPLICATE_VALUE` | duplicate_value | \ No newline at end of file diff --git a/gusto_embedded/docs/models/fieldt.md b/gusto_embedded/docs/models/fieldt.md new file mode 100644 index 00000000..e1cb9f54 --- /dev/null +++ b/gusto_embedded/docs/models/fieldt.md @@ -0,0 +1,18 @@ +# FieldT + +The employee field affected. + +## Example Usage + +```python +from gusto_embedded.models import FieldT + +value = FieldT.SSN +``` + + +## Values + +| Name | Value | +| ----- | ----- | +| `SSN` | ssn | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md b/gusto_embedded/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md index f0499c07..484c54d7 100644 --- a/gusto_embedded/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md +++ b/gusto_embedded/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.GetCompaniesCompanyUUIDWireInRequestUUIDHeaderXGustoAPIVersion]](../models/getcompaniescompanyuuidwireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getcompaniesdepartmentsrequest.md b/gusto_embedded/docs/models/getcompaniesdepartmentsrequest.md index 0ec638e3..d598309d 100644 --- a/gusto_embedded/docs/models/getcompaniesdepartmentsrequest.md +++ b/gusto_embedded/docs/models/getcompaniesdepartmentsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getcompanynotificationsrequest.md b/gusto_embedded/docs/models/getcompanynotificationsrequest.md index 637a1ff0..b870aa17 100644 --- a/gusto_embedded/docs/models/getcompanynotificationsrequest.md +++ b/gusto_embedded/docs/models/getcompanynotificationsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | | `status` | [Optional[models.QueryParamStatus]](../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | -| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getdepartmentrequest.md b/gusto_embedded/docs/models/getdepartmentrequest.md index 8db1cf92..23a6159c 100644 --- a/gusto_embedded/docs/models/getdepartmentrequest.md +++ b/gusto_embedded/docs/models/getdepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getnotificationsnotificationuuidrequest.md b/gusto_embedded/docs/models/getnotificationsnotificationuuidrequest.md index 53bfcd35..4c5a3710 100644 --- a/gusto_embedded/docs/models/getnotificationsnotificationuuidrequest.md +++ b/gusto_embedded/docs/models/getnotificationsnotificationuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `notification_uuid` | *str* | :heavy_check_mark: | The notification entity_uuid | -| `x_gusto_api_version` | [Optional[models.GetNotificationsNotificationUUIDHeaderXGustoAPIVersion]](../models/getnotificationsnotificationuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetNotificationsNotificationUUIDHeaderXGustoAPIVersion]](../models/getnotificationsnotificationuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `notification_uuid` | *str* | :heavy_check_mark: | The notification entity_uuid | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md index 9e83cb0d..6e840550 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `start_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. | 2020-01-01 | | `end_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to today's date. | 2020-12-31 | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md index 0d986047..3e6b39b9 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | -| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md index 14459d04..07967a24 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDFederalTaxDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidfederaltaxdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDFederalTaxDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidfederaltaxdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md b/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md new file mode 100644 index 00000000..4aa56fa1 --- /dev/null +++ b/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_embedded.models import GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + +value = GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ------------------------------------------------ | ------------------------------------------------ | +| `TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15` | 2025-06-15 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsrequest.md index f46286b2..918d87b7 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidpayrollreversalsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md index 1dcfd430..3d70561d 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `id` | *str* | :heavy_check_mark: | The UUID of the payroll | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md index 437f96d4..bc90ad86 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `include` | List[[models.GetV1CompaniesCompanyIDPayrollsPayrollIDQueryParamInclude](../models/getv1companiescompanyidpayrollspayrollidqueryparaminclude.md)] | :heavy_minus_sign: | Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` | | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | diff --git a/gusto_embedded/docs/models/getv1companiescompanyidpayrollsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidpayrollsrequest.md index 7b26f6d6..4d1db6dd 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidpayrollsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidpayrollsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `processing_statuses` | List[[models.ProcessingStatuses](../models/processingstatuses.md)] | :heavy_minus_sign: | Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` | | | `payroll_types` | List[[models.QueryParamPayrollTypes](../models/queryparampayrolltypes.md)] | :heavy_minus_sign: | Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` | | | `processed` | *Optional[bool]* | :heavy_minus_sign: | Whether to return processed or unprocessed payrolls | | diff --git a/gusto_embedded/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md b/gusto_embedded/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md index 3fb46982..345f1480 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md @@ -12,4 +12,5 @@ | `anchor_end_of_pay_period` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_check_mark: | The last date of the first pay period. This can be the same date as the anchor pay date. | 2020-05-08 | | `day_1` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. | 15 | | `day_2` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. | 31 | -| `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. | | \ No newline at end of file +| `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. | | +| `pay_schedule_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. | | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyuuidsignatoriesrequest.md b/gusto_embedded/docs/models/getv1companiescompanyuuidsignatoriesrequest.md index da812376..1b6a534c 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyuuidsignatoriesrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyuuidsignatoriesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDSignatoriesHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidsignatoriesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDSignatoriesHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidsignatoriesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md b/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md index f4e03fa8..c05407c4 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md b/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md index bc1a063f..47480df7 100644 --- a/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md +++ b/gusto_embedded/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | | `state` | *str* | :heavy_check_mark: | The two-letter state abbreviation | CA | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `scheduling` | *Optional[bool]* | :heavy_minus_sign: | When true, return "new" requirement sets with valid `effective_from` dates that are available to save new effective-dated values. | | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companiesrequest.md b/gusto_embedded/docs/models/getv1companiesrequest.md index ddf4598f..4a4c0132 100644 --- a/gusto_embedded/docs/models/getv1companiesrequest.md +++ b/gusto_embedded/docs/models/getv1companiesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companyfinishonboardingrequest.md b/gusto_embedded/docs/models/getv1companyfinishonboardingrequest.md index 25b53553..ce122267 100644 --- a/gusto_embedded/docs/models/getv1companyfinishonboardingrequest.md +++ b/gusto_embedded/docs/models/getv1companyfinishonboardingrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `x_gusto_api_version` | [Optional[models.GetV1CompanyFinishOnboardingHeaderXGustoAPIVersion]](../models/getv1companyfinishonboardingheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompanyFinishOnboardingHeaderXGustoAPIVersion]](../models/getv1companyfinishonboardingheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companyindustryrequest.md b/gusto_embedded/docs/models/getv1companyindustryrequest.md index 3394230d..a7b683e8 100644 --- a/gusto_embedded/docs/models/getv1companyindustryrequest.md +++ b/gusto_embedded/docs/models/getv1companyindustryrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompanyIndustryHeaderXGustoAPIVersion]](../models/getv1companyindustryheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompanyIndustryHeaderXGustoAPIVersion]](../models/getv1companyindustryheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1companyonboardingstatusrequest.md b/gusto_embedded/docs/models/getv1companyonboardingstatusrequest.md index e7d9a6cc..51fbef25 100644 --- a/gusto_embedded/docs/models/getv1companyonboardingstatusrequest.md +++ b/gusto_embedded/docs/models/getv1companyonboardingstatusrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion]](../models/getv1companyonboardingstatusheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | -| `x_gusto_api_version` | [Optional[models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion]](../models/getv1companyonboardingstatusheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md b/gusto_embedded/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md index b96ae30f..43ff84ba 100644 --- a/gusto_embedded/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md +++ b/gusto_embedded/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md b/gusto_embedded/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md index c73f4965..a9f03cec 100644 --- a/gusto_embedded/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md +++ b/gusto_embedded/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1employeesemployeeidcustomfieldsrequest.md b/gusto_embedded/docs/models/getv1employeesemployeeidcustomfieldsrequest.md index ad3665fe..dd48aea7 100644 --- a/gusto_embedded/docs/models/getv1employeesemployeeidcustomfieldsrequest.md +++ b/gusto_embedded/docs/models/getv1employeesemployeeidcustomfieldsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1employeesemployeeidhomeaddressesrequest.md b/gusto_embedded/docs/models/getv1employeesemployeeidhomeaddressesrequest.md index 25bcddc3..50cef7ab 100644 --- a/gusto_embedded/docs/models/getv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_embedded/docs/models/getv1employeesemployeeidhomeaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1employeesemployeeidjobsrequest.md b/gusto_embedded/docs/models/getv1employeesemployeeidjobsrequest.md index 1de83b22..b7ba0326 100644 --- a/gusto_embedded/docs/models/getv1employeesemployeeidjobsrequest.md +++ b/gusto_embedded/docs/models/getv1employeesemployeeidjobsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `include` | [Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude]](../models/getv1employeesemployeeidjobsqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `include` | [Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude]](../models/getv1employeesemployeeidjobsqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1employeesemployeeidworkaddressesrequest.md b/gusto_embedded/docs/models/getv1employeesemployeeidworkaddressesrequest.md index 00b143d5..93254bf5 100644 --- a/gusto_embedded/docs/models/getv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_embedded/docs/models/getv1employeesemployeeidworkaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index 098f64ea..2d27a7de 100644 --- a/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md index de8d6594..743bef62 100644 --- a/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_embedded/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md b/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md new file mode 100644 index 00000000..96fe9bbe --- /dev/null +++ b/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_embedded.models import GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + +value = GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ------------------------------------------------ | ------------------------------------------------ | +| `TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15` | 2025-06-15 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md b/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md index 17b976d8..0a727a02 100644 --- a/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md +++ b/gusto_embedded/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion]](../models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `document_type` | [models.PathParamDocumentType](../models/pathparamdocumenttype.md) | :heavy_check_mark: | The type of document being generated | -| `request_uuid` | *str* | :heavy_check_mark: | The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `request_uuid` | *str* | :heavy_check_mark: | The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1homeaddresseshomeaddressuuidrequest.md b/gusto_embedded/docs/models/getv1homeaddresseshomeaddressuuidrequest.md index 654451d4..fd27eac5 100644 --- a/gusto_embedded/docs/models/getv1homeaddresseshomeaddressuuidrequest.md +++ b/gusto_embedded/docs/models/getv1homeaddresseshomeaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | -| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1jobsjobidrequest.md b/gusto_embedded/docs/models/getv1jobsjobidrequest.md index 369b8fda..832f38ec 100644 --- a/gusto_embedded/docs/models/getv1jobsjobidrequest.md +++ b/gusto_embedded/docs/models/getv1jobsjobidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1JobsJobIDHeaderXGustoAPIVersion]](../models/getv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `job_id` | *str* | :heavy_check_mark: | The UUID of the job | -| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| -| `x_gusto_api_version` | [Optional[models.GetV1JobsJobIDHeaderXGustoAPIVersion]](../models/getv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1locationslocationuuidminimumwagesrequest.md b/gusto_embedded/docs/models/getv1locationslocationuuidminimumwagesrequest.md index 12dc5397..7b94700f 100644 --- a/gusto_embedded/docs/models/getv1locationslocationuuidminimumwagesrequest.md +++ b/gusto_embedded/docs/models/getv1locationslocationuuidminimumwagesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `x_gusto_api_version` | [Optional[models.GetV1LocationsLocationUUIDMinimumWagesHeaderXGustoAPIVersion]](../models/getv1locationslocationuuidminimumwagesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `effective_date` | *Optional[str]* | :heavy_minus_sign: | N/A | 2020-01-31 | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md b/gusto_embedded/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md index 1341dfdf..bc3bbc43 100644 --- a/gusto_embedded/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md +++ b/gusto_embedded/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessHeaderXGustoAPIVersion]](../models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessHeaderXGustoAPIVersion]](../models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md b/gusto_embedded/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md index 67b2b441..7af9e3c4 100644 --- a/gusto_embedded/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md +++ b/gusto_embedded/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payroll_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `x_gusto_api_version` | [Optional[models.GetV1PaymentReceiptsPayrollsPayrollUUIDHeaderXGustoAPIVersion]](../models/getv1paymentreceiptspayrollspayrolluuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PaymentReceiptsPayrollsPayrollUUIDHeaderXGustoAPIVersion]](../models/getv1paymentreceiptspayrollspayrolluuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `payroll_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md b/gusto_embedded/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md index cb1212f3..7e920c08 100644 --- a/gusto_embedded/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md +++ b/gusto_embedded/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payroll_digest_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll digest batch returned by `POST /v1/payroll_digests`. | -| `x_gusto_api_version` | [Optional[models.GetV1PayrollDigestsPayrollDigestUUIDHeaderXGustoAPIVersion]](../models/getv1payrolldigestspayrolldigestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PayrollDigestsPayrollDigestUUIDHeaderXGustoAPIVersion]](../models/getv1payrolldigestspayrolldigestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `payroll_digest_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll digest batch returned by `POST /v1/payroll_digests`. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md b/gusto_embedded/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md index 8e49dea7..607ff3a4 100644 --- a/gusto_embedded/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md +++ b/gusto_embedded/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `people_batch_uuid` | *str* | :heavy_check_mark: | The UUID of the people batch | -| `x_gusto_api_version` | [Optional[models.GetV1PeopleBatchesPeopleBatchUUIDHeaderXGustoAPIVersion]](../models/getv1peoplebatchespeoplebatchuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PeopleBatchesPeopleBatchUUIDHeaderXGustoAPIVersion]](../models/getv1peoplebatchespeoplebatchuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `people_batch_uuid` | *str* | :heavy_check_mark: | The UUID of the people batch | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1webhooksubscriptionuuidrequest.md b/gusto_embedded/docs/models/getv1webhooksubscriptionuuidrequest.md index 1668e8ab..227e3d31 100644 --- a/gusto_embedded/docs/models/getv1webhooksubscriptionuuidrequest.md +++ b/gusto_embedded/docs/models/getv1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md b/gusto_embedded/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md index 9f8ff4ca..4fabc561 100644 --- a/gusto_embedded/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md +++ b/gusto_embedded/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getv1workaddressesworkaddressuuidrequest.md b/gusto_embedded/docs/models/getv1workaddressesworkaddressuuidrequest.md index 7888f203..93b1aabd 100644 --- a/gusto_embedded/docs/models/getv1workaddressesworkaddressuuidrequest.md +++ b/gusto_embedded/docs/models/getv1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_embedded/docs/models/getwireinrequestswireinrequestuuidrequest.md b/gusto_embedded/docs/models/getwireinrequestswireinrequestuuidrequest.md index 38bb1575..9d253a53 100644 --- a/gusto_embedded/docs/models/getwireinrequestswireinrequestuuidrequest.md +++ b/gusto_embedded/docs/models/getwireinrequestswireinrequestuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | -| `x_gusto_api_version` | [Optional[models.GetWireInRequestsWireInRequestUUIDHeaderXGustoAPIVersion]](../models/getwireinrequestswireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetWireInRequestsWireInRequestUUIDHeaderXGustoAPIVersion]](../models/getwireinrequestswireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | \ No newline at end of file diff --git a/gusto_embedded/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md b/gusto_embedded/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md index 4bc1b06f..61bccda3 100644 --- a/gusto_embedded/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md +++ b/gusto_embedded/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/patchv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `x_gusto_api_version` | [Optional[models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/patchv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `request_body` | [Optional[models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequestBody]](../models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md b/gusto_embedded/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md index ab45df0c..ab449029 100644 --- a/gusto_embedded/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md +++ b/gusto_embedded/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | | `x_gusto_api_version` | [Optional[models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/patchv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | | `request_body` | [Optional[models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequestBody]](../models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_embedded/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index 89e2ff87..0347af6b 100644 --- a/gusto_embedded/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_embedded/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_section603_high_earner_status_update_request` | [models.EmployeeSection603HighEarnerStatusUpdateRequest](../models/employeesection603highearnerstatusupdaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/payrolldigestresultsblockers.md b/gusto_embedded/docs/models/payrolldigestresultsblockers.md new file mode 100644 index 00000000..ae2ae4c0 --- /dev/null +++ b/gusto_embedded/docs/models/payrolldigestresultsblockers.md @@ -0,0 +1,9 @@ +# PayrollDigestResultsBlockers + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `type` | *Optional[str]* | :heavy_minus_sign: | A machine-readable blocker key (e.g. `missing_bank_account`). | +| `description` | *Optional[str]* | :heavy_minus_sign: | Human-readable description of the blocker. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/payrolldigestresultsresults.md b/gusto_embedded/docs/models/payrolldigestresultsresults.md index 096472e2..304349eb 100644 --- a/gusto_embedded/docs/models/payrolldigestresultsresults.md +++ b/gusto_embedded/docs/models/payrolldigestresultsresults.md @@ -10,5 +10,5 @@ | `uuid` | *Optional[str]* | :heavy_minus_sign: | The UUID of the company. | | `name` | *Optional[str]* | :heavy_minus_sign: | The legal/display name of the company. | | `status` | [Optional[models.PayrollDigestResultsResultsStatus]](../models/payrolldigestresultsresultsstatus.md) | :heavy_minus_sign: | The status of this company's digest computation. | -| `blockers` | List[[models.Blockers](../models/blockers.md)] | :heavy_minus_sign: | Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. | +| `blockers` | List[[models.PayrollDigestResultsBlockers](../models/payrolldigestresultsblockers.md)] | :heavy_minus_sign: | Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. | | `payrolls` | List[[models.PayrollsModel](../models/payrollsmodel.md)] | :heavy_minus_sign: | Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty. | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postdepartmentsrequest.md b/gusto_embedded/docs/models/postdepartmentsrequest.md index a050d19c..b969b425 100644 --- a/gusto_embedded/docs/models/postdepartmentsrequest.md +++ b/gusto_embedded/docs/models/postdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostDepartmentsHeaderXGustoAPIVersion]](../models/postdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `department_create_request_body` | [models.DepartmentCreateRequestBody](../models/departmentcreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md b/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md index 5a1e5855..9e716575 100644 --- a/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md +++ b/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostPartnerManagedCompaniesCompanyUUIDAcceptTermsOfServiceHeaderXGustoAPIVersion]](../models/postpartnermanagedcompaniescompanyuuidaccepttermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `partner_managed_company_accept_terms_of_service_request` | [models.PartnerManagedCompanyAcceptTermsOfServiceRequest](../models/partnermanagedcompanyaccepttermsofservicerequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md b/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md index bc04a218..a4982074 100644 --- a/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md +++ b/gusto_embedded/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostPartnerManagedCompaniesCompanyUUIDRetrieveTermsOfServiceHeaderXGustoAPIVersion]](../models/postpartnermanagedcompaniescompanyuuidretrievetermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `partner_managed_company_retrieve_terms_of_service_request` | [models.PartnerManagedCompanyRetrieveTermsOfServiceRequest](../models/partnermanagedcompanyretrievetermsofservicerequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1companiescompanyidpeoplebatchesrequest.md b/gusto_embedded/docs/models/postv1companiescompanyidpeoplebatchesrequest.md index 203e7cb4..f2790db8 100644 --- a/gusto_embedded/docs/models/postv1companiescompanyidpeoplebatchesrequest.md +++ b/gusto_embedded/docs/models/postv1companiescompanyidpeoplebatchesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1CompaniesCompanyIDPeopleBatchesHeaderXGustoAPIVersion]](../models/postv1companiescompanyidpeoplebatchesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `request_body` | [models.PostV1CompaniesCompanyIDPeopleBatchesRequestBody](../models/postv1companiescompanyidpeoplebatchesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md b/gusto_embedded/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md index 2f128c98..579b56a8 100644 --- a/gusto_embedded/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md +++ b/gusto_embedded/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1CompaniesCompanyUUIDSignatoriesInviteHeaderXGustoAPIVersion]](../models/postv1companiescompanyuuidsignatoriesinviteheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `signatory_invite_request` | [models.SignatoryInviteRequest](../models/signatoryinviterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1companysignatoriesrequest.md b/gusto_embedded/docs/models/postv1companysignatoriesrequest.md index b115b3c4..ebc89ad6 100644 --- a/gusto_embedded/docs/models/postv1companysignatoriesrequest.md +++ b/gusto_embedded/docs/models/postv1companysignatoriesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1CompanySignatoriesHeaderXGustoAPIVersion]](../models/postv1companysignatoriesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `signatory_create_request` | [models.SignatoryCreateRequest](../models/signatorycreaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1contractorscontractoruuidrehirerequest.md b/gusto_embedded/docs/models/postv1contractorscontractoruuidrehirerequest.md index 8e3a0cf3..ddf1a0b2 100644 --- a/gusto_embedded/docs/models/postv1contractorscontractoruuidrehirerequest.md +++ b/gusto_embedded/docs/models/postv1contractorscontractoruuidrehirerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `x_gusto_api_version` | [Optional[models.PostV1ContractorsContractorUUIDRehireHeaderXGustoAPIVersion]](../models/postv1contractorscontractoruuidrehireheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `request_body` | [Optional[models.PostV1ContractorsContractorUUIDRehireRequestBody]](../models/postv1contractorscontractoruuidrehirerequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1contractorscontractoruuidterminationrequest.md b/gusto_embedded/docs/models/postv1contractorscontractoruuidterminationrequest.md index 0d242ef7..59800620 100644 --- a/gusto_embedded/docs/models/postv1contractorscontractoruuidterminationrequest.md +++ b/gusto_embedded/docs/models/postv1contractorscontractoruuidterminationrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `x_gusto_api_version` | [Optional[models.PostV1ContractorsContractorUUIDTerminationHeaderXGustoAPIVersion]](../models/postv1contractorscontractoruuidterminationheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `request_body` | [Optional[models.PostV1ContractorsContractorUUIDTerminationRequestBody]](../models/postv1contractorscontractoruuidterminationrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1employeesemployeeidhomeaddressesrequest.md b/gusto_embedded/docs/models/postv1employeesemployeeidhomeaddressesrequest.md index ac3e4b62..1ae15ad1 100644 --- a/gusto_embedded/docs/models/postv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_embedded/docs/models/postv1employeesemployeeidhomeaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `request_body` | [models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody](../models/postv1employeesemployeeidhomeaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1employeesemployeeidjobsrequest.md b/gusto_embedded/docs/models/postv1employeesemployeeidjobsrequest.md index 496f189a..a954bcf4 100644 --- a/gusto_embedded/docs/models/postv1employeesemployeeidjobsrequest.md +++ b/gusto_embedded/docs/models/postv1employeesemployeeidjobsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `jobs_create_request_body` | [models.JobsCreateRequestBody](../models/jobscreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1employeesemployeeidworkaddressesrequest.md b/gusto_embedded/docs/models/postv1employeesemployeeidworkaddressesrequest.md index e7464da0..d976074f 100644 --- a/gusto_embedded/docs/models/postv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_embedded/docs/models/postv1employeesemployeeidworkaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `request_body` | [models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody](../models/postv1employeesemployeeidworkaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_embedded/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md index bade223a..14d3fb7b 100644 --- a/gusto_embedded/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_embedded/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `employee_section603_high_earner_status_create_request` | [models.EmployeeSection603HighEarnerStatusCreateRequest](../models/employeesection603highearnerstatuscreaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/postv1webhooksubscriptionsubscriptiontypes.md b/gusto_embedded/docs/models/postv1webhooksubscriptionsubscriptiontypes.md index d28620a4..1c9cdfb9 100644 --- a/gusto_embedded/docs/models/postv1webhooksubscriptionsubscriptiontypes.md +++ b/gusto_embedded/docs/models/postv1webhooksubscriptionsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PostV1WebhookSubscriptionSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putaddpeopletodepartmentrequest.md b/gusto_embedded/docs/models/putaddpeopletodepartmentrequest.md index 54d71383..17caaebe 100644 --- a/gusto_embedded/docs/models/putaddpeopletodepartmentrequest.md +++ b/gusto_embedded/docs/models/putaddpeopletodepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutAddPeopleToDepartmentHeaderXGustoAPIVersion]](../models/putaddpeopletodepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `department_people_request_body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putdepartmentsrequest.md b/gusto_embedded/docs/models/putdepartmentsrequest.md index 7501f43e..1ebd191f 100644 --- a/gusto_embedded/docs/models/putdepartmentsrequest.md +++ b/gusto_embedded/docs/models/putdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutDepartmentsHeaderXGustoAPIVersion]](../models/putdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `department_update_request_body` | [models.DepartmentUpdateRequestBody](../models/departmentupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putremovepeoplefromdepartmentrequest.md b/gusto_embedded/docs/models/putremovepeoplefromdepartmentrequest.md index 2571a5d6..180f4dc7 100644 --- a/gusto_embedded/docs/models/putremovepeoplefromdepartmentrequest.md +++ b/gusto_embedded/docs/models/putremovepeoplefromdepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutRemovePeopleFromDepartmentHeaderXGustoAPIVersion]](../models/putremovepeoplefromdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `department_people_request_body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md b/gusto_embedded/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md index 5e88953c..60975d77 100644 --- a/gusto_embedded/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md +++ b/gusto_embedded/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | | `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyIDFederalTaxDetailsHeaderXGustoAPIVersion]](../models/putv1companiescompanyidfederaltaxdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | | `federal_tax_details_update` | [models.FederalTaxDetailsUpdate](../models/federaltaxdetailsupdate.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md b/gusto_embedded/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md index 3dd3f088..2277fadd 100644 --- a/gusto_embedded/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md +++ b/gusto_embedded/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `signatory_uuid` | *str* | :heavy_check_mark: | The UUID of the signatory | -| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `signatory_update_request` | [models.SignatoryUpdateRequest](../models/signatoryupdaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md b/gusto_embedded/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md index 3179ce18..f99b5c43 100644 --- a/gusto_embedded/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md +++ b/gusto_embedded/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | | `state` | *str* | :heavy_check_mark: | The two-letter state abbreviation | CA | -| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `request_body` | [models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequestBody](../models/putv1companiescompanyuuidtaxrequirementsstaterequestbody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1companiesrequest.md b/gusto_embedded/docs/models/putv1companiesrequest.md index 3709169b..36071a7c 100644 --- a/gusto_embedded/docs/models/putv1companiesrequest.md +++ b/gusto_embedded/docs/models/putv1companiesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1CompaniesHeaderXGustoAPIVersion]](../models/putv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `request_body` | [models.PutV1CompaniesRequestBody](../models/putv1companiesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1companyindustryrequest.md b/gusto_embedded/docs/models/putv1companyindustryrequest.md index b4adcc0d..3eba26c6 100644 --- a/gusto_embedded/docs/models/putv1companyindustryrequest.md +++ b/gusto_embedded/docs/models/putv1companyindustryrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1CompanyIndustryHeaderXGustoAPIVersion]](../models/putv1companyindustryheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `company_industry_selection_required_body` | [models.CompanyIndustrySelectionRequiredBody](../models/companyindustryselectionrequiredbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md b/gusto_embedded/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md index 747183a5..209812c4 100644 --- a/gusto_embedded/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md +++ b/gusto_embedded/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundHeaderXGustoAPIVersion]](../models/putv1contractorpaymentgroupscontractorpaymentgroupidfundheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundHeaderXGustoAPIVersion]](../models/putv1contractorpaymentgroupscontractorpaymentgroupidfundheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1jobsjobidrequest.md b/gusto_embedded/docs/models/putv1jobsjobidrequest.md index 193c42d8..09677f36 100644 --- a/gusto_embedded/docs/models/putv1jobsjobidrequest.md +++ b/gusto_embedded/docs/models/putv1jobsjobidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | | `x_gusto_api_version` | [Optional[models.PutV1JobsJobIDHeaderXGustoAPIVersion]](../models/putv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | | `jobs_update_request_body` | [models.JobsUpdateRequestBody](../models/jobsupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md b/gusto_embedded/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md index 62985018..3765f262 100644 --- a/gusto_embedded/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md +++ b/gusto_embedded/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1PartnerManagedCompaniesCompanyUUIDMigrateHeaderXGustoAPIVersion]](../models/putv1partnermanagedcompaniescompanyuuidmigrateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `partner_managed_company_migrate_request` | [models.PartnerManagedCompanyMigrateRequest](../models/partnermanagedcompanymigraterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1verifywebhooksubscriptionuuidrequest.md b/gusto_embedded/docs/models/putv1verifywebhooksubscriptionuuidrequest.md index 3dfb21dd..bb6b3843 100644 --- a/gusto_embedded/docs/models/putv1verifywebhooksubscriptionuuidrequest.md +++ b/gusto_embedded/docs/models/putv1verifywebhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1VerifyWebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1verifywebhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `request_body` | [models.PutV1VerifyWebhookSubscriptionUUIDRequestBody](../models/putv1verifywebhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1webhooksubscriptionuuidrequest.md b/gusto_embedded/docs/models/putv1webhooksubscriptionuuidrequest.md index ef222012..57f9ab3f 100644 --- a/gusto_embedded/docs/models/putv1webhooksubscriptionuuidrequest.md +++ b/gusto_embedded/docs/models/putv1webhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `request_body` | [models.PutV1WebhookSubscriptionUUIDRequestBody](../models/putv1webhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md b/gusto_embedded/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md index d0e1ca56..1fcdf517 100644 --- a/gusto_embedded/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md +++ b/gusto_embedded/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PutV1WebhookSubscriptionUUIDSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putv1workaddressesworkaddressuuidrequest.md b/gusto_embedded/docs/models/putv1workaddressesworkaddressuuidrequest.md index e25a4a88..3553879a 100644 --- a/gusto_embedded/docs/models/putv1workaddressesworkaddressuuidrequest.md +++ b/gusto_embedded/docs/models/putv1workaddressesworkaddressuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `x_gusto_api_version` | [Optional[models.PutV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `request_body` | [models.PutV1WorkAddressesWorkAddressUUIDRequestBody](../models/putv1workaddressesworkaddressuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/putwireinrequestswireinrequestuuidrequest.md b/gusto_embedded/docs/models/putwireinrequestswireinrequestuuidrequest.md index 4ff5d590..2cf2876e 100644 --- a/gusto_embedded/docs/models/putwireinrequestswireinrequestuuidrequest.md +++ b/gusto_embedded/docs/models/putwireinrequestswireinrequestuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | | `x_gusto_api_version` | [Optional[models.PutWireInRequestsWireInRequestUUIDHeaderXGustoAPIVersion]](../models/putwireinrequestswireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | | `wire_in_request_update_request_body` | [models.WireInRequestUpdateRequestBody](../models/wireinrequestupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded/docs/models/subscriptiontypes.md b/gusto_embedded/docs/models/subscriptiontypes.md index 0a2687e6..85a4a89d 100644 --- a/gusto_embedded/docs/models/subscriptiontypes.md +++ b/gusto_embedded/docs/models/subscriptiontypes.md @@ -28,4 +28,5 @@ value = SubscriptionTypes.BANK_ACCOUNT | `PAYROLL` | Payroll | | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_embedded/docs/models/versionheader.md b/gusto_embedded/docs/models/versionheader.md deleted file mode 100644 index 0a857650..00000000 --- a/gusto_embedded/docs/models/versionheader.md +++ /dev/null @@ -1,16 +0,0 @@ -# VersionHeader - -## Example Usage - -```python -from gusto_embedded.models import VersionHeader - -value = VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 -``` - - -## Values - -| Name | Value | -| ------------------------------------------------ | ------------------------------------------------ | -| `TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15` | 2025-06-15 | \ No newline at end of file diff --git a/gusto_embedded/docs/sdks/companies/README.md b/gusto_embedded/docs/sdks/companies/README.md index ba7f0bb7..ec698a0d 100644 --- a/gusto_embedded/docs/sdks/companies/README.md +++ b/gusto_embedded/docs/sdks/companies/README.md @@ -493,7 +493,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.companies.get_onboarding_status(company_uuid="7b1d0df1-6403-4a06-8768-c1dd7d24d27a", additional_steps="external_payroll", x_gusto_api_version=gusto_embedded.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + res = gusto.companies.get_onboarding_status(company_uuid="7b1d0df1-6403-4a06-8768-c1dd7d24d27a", x_gusto_api_version=gusto_embedded.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, additional_steps="external_payroll") # Handle response print(res) @@ -505,8 +505,8 @@ with Gusto( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | | `x_gusto_api_version` | [Optional[models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion]](../../models/getv1companyonboardingstatusheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/gusto_embedded/docs/sdks/contractorpaymentgroups/README.md b/gusto_embedded/docs/sdks/contractorpaymentgroups/README.md index 2fac7df4..36974b76 100644 --- a/gusto_embedded/docs/sdks/contractorpaymentgroups/README.md +++ b/gusto_embedded/docs/sdks/contractorpaymentgroups/README.md @@ -32,7 +32,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.contractor_payment_groups.get_list(company_id="", start_date="2020-01-01", end_date="2020-12-31", x_gusto_api_version=gusto_embedded.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + res = gusto.contractor_payment_groups.get_list(company_id="", x_gusto_api_version=gusto_embedded.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, start_date="2020-01-01", end_date="2020-12-31") # Handle response print(res) @@ -44,11 +44,11 @@ with Gusto( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `start_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. | 2020-01-01 | | `end_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to today's date. | 2020-12-31 | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/gusto_embedded/docs/sdks/contractors/README.md b/gusto_embedded/docs/sdks/contractors/README.md index 186d579d..cd2fddbb 100644 --- a/gusto_embedded/docs/sdks/contractors/README.md +++ b/gusto_embedded/docs/sdks/contractors/README.md @@ -576,9 +576,9 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | | `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -638,9 +638,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## delete_v1_contractors_contractor_uuid_rehire @@ -686,9 +687,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## post_v1_contractors_contractor_uuid_termination @@ -736,9 +738,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## delete_v1_contractors_contractor_uuid_termination @@ -784,6 +787,7 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/gusto_embedded/docs/sdks/employees/README.md b/gusto_embedded/docs/sdks/employees/README.md index 4251fd1f..dfa0112b 100644 --- a/gusto_embedded/docs/sdks/employees/README.md +++ b/gusto_embedded/docs/sdks/employees/README.md @@ -440,9 +440,9 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_embedded/docs/sdks/generateddocuments/README.md b/gusto_embedded/docs/sdks/generateddocuments/README.md index 40870b43..e2039c3c 100644 --- a/gusto_embedded/docs/sdks/generateddocuments/README.md +++ b/gusto_embedded/docs/sdks/generateddocuments/README.md @@ -25,7 +25,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.generated_documents.get(document_type=gusto_embedded.PathParamDocumentType.PRINTABLE_PAYROLL_CHECKS, request_uuid="", x_gusto_api_version=gusto_embedded.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + res = gusto.generated_documents.get(document_type=gusto_embedded.PathParamDocumentType.PRINTABLE_PAYROLL_CHECKS, request_uuid="", x_gusto_api_version=gusto_embedded.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) # Handle response print(res) @@ -38,7 +38,7 @@ with Gusto( | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `document_type` | [models.PathParamDocumentType](../../models/pathparamdocumenttype.md) | :heavy_check_mark: | The type of document being generated | | `request_uuid` | *str* | :heavy_check_mark: | The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion]](../../models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_embedded/docs/sdks/jobsandcompensations/README.md b/gusto_embedded/docs/sdks/jobsandcompensations/README.md index 154d7263..ee53cacf 100644 --- a/gusto_embedded/docs/sdks/jobsandcompensations/README.md +++ b/gusto_embedded/docs/sdks/jobsandcompensations/README.md @@ -49,10 +49,10 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | `include` | [Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude]](../../models/getv1employeesemployeeidjobsqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -152,8 +152,8 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `job_id` | *str* | :heavy_check_mark: | The UUID of the job | -| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| | `x_gusto_api_version` | [Optional[models.GetV1JobsJobIDHeaderXGustoAPIVersion]](../../models/getv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_embedded/docs/sdks/notifications/README.md b/gusto_embedded/docs/sdks/notifications/README.md index 2e25d3b3..453a8493 100644 --- a/gusto_embedded/docs/sdks/notifications/README.md +++ b/gusto_embedded/docs/sdks/notifications/README.md @@ -88,8 +88,8 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | -| `status` | [Optional[models.QueryParamStatus]](../../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | | `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `status` | [Optional[models.QueryParamStatus]](../../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | diff --git a/gusto_embedded/docs/sdks/payrolls/README.md b/gusto_embedded/docs/sdks/payrolls/README.md index f4cb62c8..3cb1d091 100644 --- a/gusto_embedded/docs/sdks/payrolls/README.md +++ b/gusto_embedded/docs/sdks/payrolls/README.md @@ -171,7 +171,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.payrolls.get_approved_reversals(company_id="", x_gusto_api_version=gusto_embedded.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) + res = gusto.payrolls.get_approved_reversals(company_id="", x_gusto_api_version=gusto_embedded.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15) # Handle response print(res) @@ -183,9 +183,9 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -348,8 +348,8 @@ with Gusto( | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | | `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../../models/deletev1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Errors diff --git a/gusto_embedded/docs/sdks/payschedules/README.md b/gusto_embedded/docs/sdks/payschedules/README.md index 8efa1bd9..234c11d6 100644 --- a/gusto_embedded/docs/sdks/payschedules/README.md +++ b/gusto_embedded/docs/sdks/payschedules/README.md @@ -172,6 +172,7 @@ with Gusto( | `day_1` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. | 15 | | `day_2` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. | 31 | | `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. | | +| `pay_schedule_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/gusto_embedded/pyproject.toml b/gusto_embedded/pyproject.toml index 89ca3255..e4cac82c 100644 --- a/gusto_embedded/pyproject.toml +++ b/gusto_embedded/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "gusto_embedded" -version = "0.4.0" +version = "0.4.1" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/gusto_embedded/src/gusto_embedded/_version.py b/gusto_embedded/src/gusto_embedded/_version.py index 6de145f6..6d7a1442 100644 --- a/gusto_embedded/src/gusto_embedded/_version.py +++ b/gusto_embedded/src/gusto_embedded/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "gusto_embedded" -__version__: str = "0.4.0" +__version__: str = "0.4.1" __openapi_doc_version__: str = "2025-06-15" -__gen_version__: str = "2.892.1" -__user_agent__: str = "speakeasy-sdk/python 0.4.0 2.892.1 2025-06-15 gusto_embedded" +__gen_version__: str = "2.893.0" +__user_agent__: str = "speakeasy-sdk/python 0.4.1 2.893.0 2025-06-15 gusto_embedded" try: if __package__ is not None: diff --git a/gusto_embedded/src/gusto_embedded/companies.py b/gusto_embedded/src/gusto_embedded/companies.py index 69e5da17..47ffea3b 100644 --- a/gusto_embedded/src/gusto_embedded/companies.py +++ b/gusto_embedded/src/gusto_embedded/companies.py @@ -328,8 +328,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -432,8 +432,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -534,8 +534,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, request_body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -651,8 +651,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, request_body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -780,8 +780,8 @@ def migrate( base_url = self._get_url(base_url, url_variables) request = models.PutV1PartnerManagedCompaniesCompanyUUIDMigrateRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, partner_managed_company_migrate_request=models.PartnerManagedCompanyMigrateRequest( email=email, ip_address=ip_address, @@ -913,8 +913,8 @@ async def migrate_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1PartnerManagedCompaniesCompanyUUIDMigrateRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, partner_managed_company_migrate_request=models.PartnerManagedCompanyMigrateRequest( email=email, ip_address=ip_address, @@ -1033,8 +1033,8 @@ def get_v1_partner_managed_companies_company_uuid_migration_readiness( request = ( models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) ) @@ -1137,8 +1137,8 @@ async def get_v1_partner_managed_companies_company_uuid_migration_readiness_asyn request = ( models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) ) @@ -1247,8 +1247,8 @@ def accept_terms_of_service( base_url = self._get_url(base_url, url_variables) request = models.PostPartnerManagedCompaniesCompanyUUIDAcceptTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, partner_managed_company_accept_terms_of_service_request=models.PartnerManagedCompanyAcceptTermsOfServiceRequest( email=email, ip_address=ip_address, @@ -1373,8 +1373,8 @@ async def accept_terms_of_service_async( base_url = self._get_url(base_url, url_variables) request = models.PostPartnerManagedCompaniesCompanyUUIDAcceptTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, partner_managed_company_accept_terms_of_service_request=models.PartnerManagedCompanyAcceptTermsOfServiceRequest( email=email, ip_address=ip_address, @@ -1494,8 +1494,8 @@ def retrieve_terms_of_service( base_url = self._get_url(base_url, url_variables) request = models.PostPartnerManagedCompaniesCompanyUUIDRetrieveTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, partner_managed_company_retrieve_terms_of_service_request=models.PartnerManagedCompanyRetrieveTermsOfServiceRequest( email=email, ), @@ -1613,8 +1613,8 @@ async def retrieve_terms_of_service_async( base_url = self._get_url(base_url, url_variables) request = models.PostPartnerManagedCompaniesCompanyUUIDRetrieveTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, partner_managed_company_retrieve_terms_of_service_request=models.PartnerManagedCompanyRetrieveTermsOfServiceRequest( email=email, ), @@ -2156,10 +2156,10 @@ def get_onboarding_status( self, *, company_uuid: str, - additional_steps: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion ] = models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + additional_steps: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2175,8 +2175,8 @@ def get_onboarding_status( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company - :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2193,9 +2193,9 @@ def get_onboarding_status( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyOnboardingStatusRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, additional_steps=additional_steps, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2260,10 +2260,10 @@ async def get_onboarding_status_async( self, *, company_uuid: str, - additional_steps: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion ] = models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + additional_steps: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2279,8 +2279,8 @@ async def get_onboarding_status_async( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company - :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2297,9 +2297,9 @@ async def get_onboarding_status_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyOnboardingStatusRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, additional_steps=additional_steps, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2412,8 +2412,8 @@ def finish_onboarding( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyFinishOnboardingRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -2531,8 +2531,8 @@ async def finish_onboarding_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyFinishOnboardingRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/contractorpaymentgroups.py b/gusto_embedded/src/gusto_embedded/contractorpaymentgroups.py index 6a2c42d2..fdc2ac33 100644 --- a/gusto_embedded/src/gusto_embedded/contractorpaymentgroups.py +++ b/gusto_embedded/src/gusto_embedded/contractorpaymentgroups.py @@ -15,13 +15,13 @@ def get_list( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, start_date: Optional[str] = None, end_date: Optional[str] = None, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion - ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -36,11 +36,11 @@ def get_list( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param start_date: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. :param end_date: The time period for which to retrieve contractor payment groups. Defaults to today's date. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -57,12 +57,12 @@ def get_list( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorPaymentGroupsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, start_date=start_date, end_date=end_date, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -129,13 +129,13 @@ async def get_list_async( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, start_date: Optional[str] = None, end_date: Optional[str] = None, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion - ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -150,11 +150,11 @@ async def get_list_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param start_date: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. :param end_date: The time period for which to retrieve contractor payment groups. Defaults to today's date. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -171,12 +171,12 @@ async def get_list_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorPaymentGroupsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, start_date=start_date, end_date=end_date, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -839,8 +839,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request( @@ -939,8 +939,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request_async( @@ -1039,8 +1039,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request( @@ -1144,8 +1144,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request_async( @@ -1253,8 +1253,8 @@ def fund( request = ( models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) ) @@ -1363,8 +1363,8 @@ async def fund_async( request = ( models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) ) @@ -1469,8 +1469,8 @@ def get_v1_contractor_payment_groups_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, ) req = self._build_request( @@ -1571,8 +1571,8 @@ async def get_v1_contractor_payment_groups_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, ) req = self._build_request_async( @@ -1682,8 +1682,8 @@ def patch_v1_contractor_payment_groups_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, request_body=models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, @@ -1815,8 +1815,8 @@ async def patch_v1_contractor_payment_groups_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, request_body=models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, diff --git a/gusto_embedded/src/gusto_embedded/contractors.py b/gusto_embedded/src/gusto_embedded/contractors.py index 76081758..0803a708 100644 --- a/gusto_embedded/src/gusto_embedded/contractors.py +++ b/gusto_embedded/src/gusto_embedded/contractors.py @@ -2387,11 +2387,11 @@ def get_v1_companies_company_id_contractors_payment_details( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2430,9 +2430,9 @@ def get_v1_companies_company_id_contractors_payment_details( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2449,10 +2449,10 @@ def get_v1_companies_company_id_contractors_payment_details( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2519,11 +2519,11 @@ async def get_v1_companies_company_id_contractors_payment_details_async( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2562,9 +2562,9 @@ async def get_v1_companies_company_id_contractors_payment_details_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2581,10 +2581,10 @@ async def get_v1_companies_company_id_contractors_payment_details_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2696,8 +2696,8 @@ def post_v1_contractors_contractor_uuid_rehire( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, request_body=models.PostV1ContractorsContractorUUIDRehireRequestBody( start_date=start_date, ), @@ -2713,7 +2713,7 @@ def post_v1_contractors_contractor_uuid_rehire( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -2751,9 +2751,15 @@ def post_v1_contractors_contractor_uuid_rehire( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -2811,8 +2817,8 @@ async def post_v1_contractors_contractor_uuid_rehire_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, request_body=models.PostV1ContractorsContractorUUIDRehireRequestBody( start_date=start_date, ), @@ -2828,7 +2834,7 @@ async def post_v1_contractors_contractor_uuid_rehire_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -2866,9 +2872,15 @@ async def post_v1_contractors_contractor_uuid_rehire_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -2924,8 +2936,8 @@ def delete_v1_contractors_contractor_uuid_rehire( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request( @@ -2938,7 +2950,7 @@ def delete_v1_contractors_contractor_uuid_rehire( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -2969,9 +2981,15 @@ def delete_v1_contractors_contractor_uuid_rehire( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -3027,8 +3045,8 @@ async def delete_v1_contractors_contractor_uuid_rehire_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request_async( @@ -3041,7 +3059,7 @@ async def delete_v1_contractors_contractor_uuid_rehire_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -3072,9 +3090,15 @@ async def delete_v1_contractors_contractor_uuid_rehire_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -3132,8 +3156,8 @@ def post_v1_contractors_contractor_uuid_termination( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, request_body=models.PostV1ContractorsContractorUUIDTerminationRequestBody( end_date=end_date, ), @@ -3149,7 +3173,7 @@ def post_v1_contractors_contractor_uuid_termination( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -3187,9 +3211,15 @@ def post_v1_contractors_contractor_uuid_termination( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -3247,8 +3277,8 @@ async def post_v1_contractors_contractor_uuid_termination_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, request_body=models.PostV1ContractorsContractorUUIDTerminationRequestBody( end_date=end_date, ), @@ -3264,7 +3294,7 @@ async def post_v1_contractors_contractor_uuid_termination_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -3302,9 +3332,15 @@ async def post_v1_contractors_contractor_uuid_termination_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -3360,8 +3396,8 @@ def delete_v1_contractors_contractor_uuid_termination( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request( @@ -3374,7 +3410,7 @@ def delete_v1_contractors_contractor_uuid_termination( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -3405,9 +3441,15 @@ def delete_v1_contractors_contractor_uuid_termination( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -3463,8 +3505,8 @@ async def delete_v1_contractors_contractor_uuid_termination_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request_async( @@ -3477,7 +3519,7 @@ async def delete_v1_contractors_contractor_uuid_termination_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -3508,9 +3550,15 @@ async def delete_v1_contractors_contractor_uuid_termination_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/gusto_embedded/src/gusto_embedded/departments.py b/gusto_embedded/src/gusto_embedded/departments.py index 5bafd16c..09591d1f 100644 --- a/gusto_embedded/src/gusto_embedded/departments.py +++ b/gusto_embedded/src/gusto_embedded/departments.py @@ -48,8 +48,8 @@ def get_all( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -148,8 +148,8 @@ async def get_all_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -250,8 +250,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, department_create_request_body=models.DepartmentCreateRequestBody( title=title, ), @@ -367,8 +367,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, department_create_request_body=models.DepartmentCreateRequestBody( title=title, ), @@ -482,8 +482,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -582,8 +582,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -686,8 +686,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_update_request_body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -811,8 +811,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_update_request_body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -932,8 +932,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -1037,8 +1037,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -1158,8 +1158,8 @@ def add_people( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1297,8 +1297,8 @@ async def add_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1436,8 +1436,8 @@ def remove_people( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1575,8 +1575,8 @@ async def remove_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, department_people_request_body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( diff --git a/gusto_embedded/src/gusto_embedded/employeeaddresses.py b/gusto_embedded/src/gusto_embedded/employeeaddresses.py index cff018cd..94b2bab5 100644 --- a/gusto_embedded/src/gusto_embedded/employeeaddresses.py +++ b/gusto_embedded/src/gusto_embedded/employeeaddresses.py @@ -51,8 +51,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -153,8 +153,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -269,8 +269,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -406,8 +406,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -529,8 +529,8 @@ def retrieve_home_address( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request( @@ -631,8 +631,8 @@ async def retrieve_home_address_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request_async( @@ -1222,8 +1222,8 @@ def get_work_addresses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -1323,8 +1323,8 @@ async def get_work_addresses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -1427,8 +1427,8 @@ def create_work_address( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1547,8 +1547,8 @@ async def create_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, request_body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1663,8 +1663,8 @@ def retrieve_work_address( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -1763,8 +1763,8 @@ async def retrieve_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( @@ -1869,8 +1869,8 @@ def update_work_address( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, request_body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -1992,8 +1992,8 @@ async def update_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, request_body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -2109,8 +2109,8 @@ def delete_work_address( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -2214,8 +2214,8 @@ async def delete_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/employeebenefits.py b/gusto_embedded/src/gusto_embedded/employeebenefits.py index 29b18a73..9918cd33 100644 --- a/gusto_embedded/src/gusto_embedded/employeebenefits.py +++ b/gusto_embedded/src/gusto_embedded/employeebenefits.py @@ -1910,8 +1910,8 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request( @@ -2015,8 +2015,8 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request_async( @@ -2124,8 +2124,8 @@ def post_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, employee_section603_high_earner_status_create_request=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2249,8 +2249,8 @@ async def post_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, employee_section603_high_earner_status_create_request=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2372,9 +2372,9 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_yea base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2485,9 +2485,9 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_effecti base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2600,9 +2600,9 @@ def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_y base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, employee_section603_high_earner_status_update_request=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), @@ -2725,9 +2725,9 @@ async def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effec base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, employee_section603_high_earner_status_update_request=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), diff --git a/gusto_embedded/src/gusto_embedded/employees.py b/gusto_embedded/src/gusto_embedded/employees.py index 96da8e77..c7cb48fc 100644 --- a/gusto_embedded/src/gusto_embedded/employees.py +++ b/gusto_embedded/src/gusto_embedded/employees.py @@ -1871,11 +1871,11 @@ def get_custom_fields( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1890,9 +1890,9 @@ def get_custom_fields( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1909,10 +1909,10 @@ def get_custom_fields( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1977,11 +1977,11 @@ async def get_custom_fields_async( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1996,9 +1996,9 @@ async def get_custom_fields_async( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2015,10 +2015,10 @@ async def get_custom_fields_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/federaltaxdetails_sdk.py b/gusto_embedded/src/gusto_embedded/federaltaxdetails_sdk.py index d9356ee7..35bde1d1 100644 --- a/gusto_embedded/src/gusto_embedded/federaltaxdetails_sdk.py +++ b/gusto_embedded/src/gusto_embedded/federaltaxdetails_sdk.py @@ -48,8 +48,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -148,8 +148,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -283,8 +283,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, federal_tax_details_update=models.FederalTaxDetailsUpdate( version=version, legal_name=legal_name, @@ -438,8 +438,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, federal_tax_details_update=models.FederalTaxDetailsUpdate( version=version, legal_name=legal_name, diff --git a/gusto_embedded/src/gusto_embedded/generateddocuments.py b/gusto_embedded/src/gusto_embedded/generateddocuments.py index 1357bc89..593b4e97 100644 --- a/gusto_embedded/src/gusto_embedded/generateddocuments.py +++ b/gusto_embedded/src/gusto_embedded/generateddocuments.py @@ -16,8 +16,8 @@ def get( document_type: models.PathParamDocumentType, request_uuid: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + ] = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -50,9 +50,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest( + x_gusto_api_version=x_gusto_api_version, document_type=document_type, request_uuid=request_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -119,8 +119,8 @@ async def get_async( document_type: models.PathParamDocumentType, request_uuid: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + ] = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -153,9 +153,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest( + x_gusto_api_version=x_gusto_api_version, document_type=document_type, request_uuid=request_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/industryselection.py b/gusto_embedded/src/gusto_embedded/industryselection.py index e68e614e..d83439a8 100644 --- a/gusto_embedded/src/gusto_embedded/industryselection.py +++ b/gusto_embedded/src/gusto_embedded/industryselection.py @@ -48,8 +48,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -148,8 +148,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -260,8 +260,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, company_industry_selection_required_body=models.CompanyIndustrySelectionRequiredBody( title=title, naics_code=naics_code, @@ -389,8 +389,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, company_industry_selection_required_body=models.CompanyIndustrySelectionRequiredBody( title=title, naics_code=naics_code, diff --git a/gusto_embedded/src/gusto_embedded/jobsandcompensations.py b/gusto_embedded/src/gusto_embedded/jobsandcompensations.py index 6a0dcd60..c9bb2f65 100644 --- a/gusto_embedded/src/gusto_embedded/jobsandcompensations.py +++ b/gusto_embedded/src/gusto_embedded/jobsandcompensations.py @@ -14,12 +14,12 @@ def get_jobs( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, - include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, + include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -37,12 +37,12 @@ def get_jobs( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -59,11 +59,11 @@ def get_jobs( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDJobsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -128,12 +128,12 @@ async def get_jobs_async( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, - include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, + include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -151,12 +151,12 @@ async def get_jobs_async( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -173,11 +173,11 @@ async def get_jobs_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDJobsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -286,8 +286,8 @@ def create_job( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDJobsRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, jobs_create_request_body=models.JobsCreateRequestBody( title=title, hire_date=hire_date, @@ -415,8 +415,8 @@ async def create_job_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDJobsRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, jobs_create_request_body=models.JobsCreateRequestBody( title=title, hire_date=hire_date, @@ -500,10 +500,10 @@ def get_job( self, *, job_id: str, - include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1JobsJobIDHeaderXGustoAPIVersion ] = models.GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -522,10 +522,10 @@ def get_job( If set, this operation will use `company_access_auth` from the global security. :param job_id: The UUID of the job + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -542,9 +542,9 @@ def get_job( base_url = self._get_url(base_url, url_variables) request = models.GetV1JobsJobIDRequest( + x_gusto_api_version=x_gusto_api_version, job_id=job_id, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -609,10 +609,10 @@ async def get_job_async( self, *, job_id: str, - include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1JobsJobIDHeaderXGustoAPIVersion ] = models.GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -631,10 +631,10 @@ async def get_job_async( If set, this operation will use `company_access_auth` from the global security. :param job_id: The UUID of the job + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -651,9 +651,9 @@ async def get_job_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1JobsJobIDRequest( + x_gusto_api_version=x_gusto_api_version, job_id=job_id, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -764,8 +764,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, jobs_update_request_body=models.JobsUpdateRequestBody( version=version, title=title, @@ -896,8 +896,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, jobs_update_request_body=models.JobsUpdateRequestBody( version=version, title=title, @@ -1016,8 +1016,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, ) req = self._build_request( @@ -1121,8 +1121,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/locations.py b/gusto_embedded/src/gusto_embedded/locations.py index e57f8dcd..3f7009c4 100644 --- a/gusto_embedded/src/gusto_embedded/locations.py +++ b/gusto_embedded/src/gusto_embedded/locations.py @@ -1048,8 +1048,8 @@ def get_minimum_wages( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) @@ -1151,8 +1151,8 @@ async def get_minimum_wages_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) diff --git a/gusto_embedded/src/gusto_embedded/models/__init__.py b/gusto_embedded/src/gusto_embedded/models/__init__.py index 29d52eeb..edcbe4fe 100644 --- a/gusto_embedded/src/gusto_embedded/models/__init__.py +++ b/gusto_embedded/src/gusto_embedded/models/__init__.py @@ -714,10 +714,14 @@ EmployeeOnboardingDocumentsConfigRequestTypedDict, ) from .employee_onboarding_status import ( + Blockers, + BlockersTypedDict, EmployeeOnboardingStatus, + EmployeeOnboardingStatusCategory, EmployeeOnboardingStatusOnboardingStep, EmployeeOnboardingStatusOnboardingStepTypedDict, EmployeeOnboardingStatusTypedDict, + FieldT, ) from .employee_pay_stubs_list import ( EmployeePayStubsList, @@ -1114,6 +1118,7 @@ GetV1CompaniesCompanyIDPaySchedulesRequestTypedDict, ) from .get_v1_companies_company_id_payroll_reversalsop import ( + GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion, GetV1CompaniesCompanyIDPayrollReversalsRequest, GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict, ) @@ -1491,6 +1496,7 @@ GetV1GarnishmentsGarnishmentIDRequestTypedDict, ) from .get_v1_generated_documents_document_type_request_uuidop import ( + GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion, GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest, GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict, PathParamDocumentType, @@ -2073,11 +2079,11 @@ PayrollDigestConflictErrorMetadataTypedDict, ) from .payroll_digest_results import ( - Blockers, - BlockersTypedDict, PaySchedule, PayScheduleTypedDict, PayrollDigestResults, + PayrollDigestResultsBlockers, + PayrollDigestResultsBlockersTypedDict, PayrollDigestResultsCategory, PayrollDigestResultsEntityType, PayrollDigestResultsExclusions, @@ -3277,7 +3283,6 @@ UpdateGarnishmentRequestGarnishmentType, UpdateGarnishmentRequestTypedDict, ) - from .versionheader import VersionHeader from .webhook_subscription import ( SubscriptionTypes, WebhookSubscription, @@ -3820,6 +3825,7 @@ "EmployeeOnboardingDocumentsConfigTypedDict", "EmployeeOnboardingStatus", "EmployeeOnboardingStatus1", + "EmployeeOnboardingStatusCategory", "EmployeeOnboardingStatusOnboardingStep", "EmployeeOnboardingStatusOnboardingStepTypedDict", "EmployeeOnboardingStatusTypedDict", @@ -3914,6 +3920,7 @@ "FederalTaxDetailsUpdateFilingForm", "FederalTaxDetailsUpdateTaxPayerType", "FederalTaxDetailsUpdateTypedDict", + "FieldT", "Fields", "FieldsTypedDict", "FileType", @@ -4082,6 +4089,7 @@ "GetV1CompaniesCompanyIDPaySchedulesPreviewRequestTypedDict", "GetV1CompaniesCompanyIDPaySchedulesRequest", "GetV1CompaniesCompanyIDPaySchedulesRequestTypedDict", + "GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion", "GetV1CompaniesCompanyIDPayrollReversalsRequest", "GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict", "GetV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion", @@ -4308,6 +4316,7 @@ "GetV1GarnishmentsGarnishmentIDHeaderXGustoAPIVersion", "GetV1GarnishmentsGarnishmentIDRequest", "GetV1GarnishmentsGarnishmentIDRequestTypedDict", + "GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict", "GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion", @@ -4702,6 +4711,8 @@ "PayrollDigestConflictErrorMetadata", "PayrollDigestConflictErrorMetadataTypedDict", "PayrollDigestResults", + "PayrollDigestResultsBlockers", + "PayrollDigestResultsBlockersTypedDict", "PayrollDigestResultsCategory", "PayrollDigestResultsEntityType", "PayrollDigestResultsExclusions", @@ -5635,7 +5646,6 @@ "ValueTypedDict", "VerificationStatus", "VerificationType", - "VersionHeader", "VeteransDay", "VeteransDayTypedDict", "W4DataType", @@ -6188,10 +6198,14 @@ "EmployeeOnboardingDocumentTypedDict": ".employee_onboarding_document", "EmployeeOnboardingDocumentsConfigRequest": ".employee_onboarding_documents_config_request", "EmployeeOnboardingDocumentsConfigRequestTypedDict": ".employee_onboarding_documents_config_request", + "Blockers": ".employee_onboarding_status", + "BlockersTypedDict": ".employee_onboarding_status", "EmployeeOnboardingStatus": ".employee_onboarding_status", + "EmployeeOnboardingStatusCategory": ".employee_onboarding_status", "EmployeeOnboardingStatusOnboardingStep": ".employee_onboarding_status", "EmployeeOnboardingStatusOnboardingStepTypedDict": ".employee_onboarding_status", "EmployeeOnboardingStatusTypedDict": ".employee_onboarding_status", + "FieldT": ".employee_onboarding_status", "EmployeePayStubsList": ".employee_pay_stubs_list", "EmployeePayStubsListPaymentMethod": ".employee_pay_stubs_list", "EmployeePayStubsListTypedDict": ".employee_pay_stubs_list", @@ -6461,6 +6475,7 @@ "GetV1CompaniesCompanyIDPaySchedulesHeaderXGustoAPIVersion": ".get_v1_companies_company_id_pay_schedulesop", "GetV1CompaniesCompanyIDPaySchedulesRequest": ".get_v1_companies_company_id_pay_schedulesop", "GetV1CompaniesCompanyIDPaySchedulesRequestTypedDict": ".get_v1_companies_company_id_pay_schedulesop", + "GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion": ".get_v1_companies_company_id_payroll_reversalsop", "GetV1CompaniesCompanyIDPayrollReversalsRequest": ".get_v1_companies_company_id_payroll_reversalsop", "GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict": ".get_v1_companies_company_id_payroll_reversalsop", "GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion": ".get_v1_companies_company_id_payrolls_id_partner_disbursementsop", @@ -6692,6 +6707,7 @@ "GetV1GarnishmentsGarnishmentIDHeaderXGustoAPIVersion": ".get_v1_garnishments_garnishment_idop", "GetV1GarnishmentsGarnishmentIDRequest": ".get_v1_garnishments_garnishment_idop", "GetV1GarnishmentsGarnishmentIDRequestTypedDict": ".get_v1_garnishments_garnishment_idop", + "GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion": ".get_v1_generated_documents_document_type_request_uuidop", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest": ".get_v1_generated_documents_document_type_request_uuidop", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict": ".get_v1_generated_documents_document_type_request_uuidop", "PathParamDocumentType": ".get_v1_generated_documents_document_type_request_uuidop", @@ -7117,11 +7133,11 @@ "PayrollDigestConflictErrorErrorsTypedDict": ".payroll_digest_conflict_error", "PayrollDigestConflictErrorMetadata": ".payroll_digest_conflict_error", "PayrollDigestConflictErrorMetadataTypedDict": ".payroll_digest_conflict_error", - "Blockers": ".payroll_digest_results", - "BlockersTypedDict": ".payroll_digest_results", "PaySchedule": ".payroll_digest_results", "PayScheduleTypedDict": ".payroll_digest_results", "PayrollDigestResults": ".payroll_digest_results", + "PayrollDigestResultsBlockers": ".payroll_digest_results", + "PayrollDigestResultsBlockersTypedDict": ".payroll_digest_results", "PayrollDigestResultsCategory": ".payroll_digest_results", "PayrollDigestResultsEntityType": ".payroll_digest_results", "PayrollDigestResultsExclusions": ".payroll_digest_results", @@ -7995,7 +8011,6 @@ "UpdateGarnishmentRequest": ".update_garnishment_request", "UpdateGarnishmentRequestGarnishmentType": ".update_garnishment_request", "UpdateGarnishmentRequestTypedDict": ".update_garnishment_request", - "VersionHeader": ".versionheader", "SubscriptionTypes": ".webhook_subscription", "WebhookSubscription": ".webhook_subscription", "WebhookSubscriptionStatus": ".webhook_subscription", diff --git a/gusto_embedded/src/gusto_embedded/models/delete_v1_companies_company_id_payrollsop.py b/gusto_embedded/src/gusto_embedded/models/delete_v1_companies_company_id_payrollsop.py index a9a27214..e1f71f5c 100644 --- a/gusto_embedded/src/gusto_embedded/models/delete_v1_companies_company_id_payrollsop.py +++ b/gusto_embedded/src/gusto_embedded/models/delete_v1_companies_company_id_payrollsop.py @@ -26,12 +26,12 @@ class DeleteV1CompaniesCompanyIDPayrollsRequestTypedDict(TypedDict): r"""The UUID of the company""" payroll_id: str r"""The UUID of the payroll""" - async_: NotRequired[bool] - r"""When true, request an asynchronous delete of the payroll.""" x_gusto_api_version: NotRequired[ DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + async_: NotRequired[bool] + r"""When true, request an asynchronous delete of the payroll.""" class DeleteV1CompaniesCompanyIDPayrollsRequest(BaseModel): @@ -45,13 +45,6 @@ class DeleteV1CompaniesCompanyIDPayrollsRequest(BaseModel): ] r"""The UUID of the payroll""" - async_: Annotated[ - Optional[bool], - pydantic.Field(alias="async"), - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - r"""When true, request an asynchronous delete of the payroll.""" - x_gusto_api_version: Annotated[ Optional[DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -59,9 +52,16 @@ class DeleteV1CompaniesCompanyIDPayrollsRequest(BaseModel): ] = DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + async_: Annotated[ + Optional[bool], + pydantic.Field(alias="async"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""When true, request an asynchronous delete of the payroll.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["async", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "async"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/employee_onboarding_status.py b/gusto_embedded/src/gusto_embedded/models/employee_onboarding_status.py index d17182d0..f89aaa5a 100644 --- a/gusto_embedded/src/gusto_embedded/models/employee_onboarding_status.py +++ b/gusto_embedded/src/gusto_embedded/models/employee_onboarding_status.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from enum import Enum from gusto_embedded.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer from typing import List, Optional @@ -53,6 +54,54 @@ def serialize_model(self, handler): return m +class FieldT(str, Enum): + r"""The employee field affected.""" + + SSN = "ssn" + + +class EmployeeOnboardingStatusCategory(str, Enum): + r"""Category of the blocker. See the array-level description for resolution guidance.""" + + DUPLICATE_VALUE = "duplicate_value" + + +class BlockersTypedDict(TypedDict): + field: NotRequired[FieldT] + r"""The employee field affected.""" + category: NotRequired[EmployeeOnboardingStatusCategory] + r"""Category of the blocker. See the array-level description for resolution guidance.""" + message: NotRequired[str] + r"""Human-readable description of the blocker.""" + + +class Blockers(BaseModel): + field: Optional[FieldT] = None + r"""The employee field affected.""" + + category: Optional[EmployeeOnboardingStatusCategory] = None + r"""Category of the blocker. See the array-level description for resolution guidance.""" + + message: Optional[str] = None + r"""Human-readable description of the blocker.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["field", "category", "message"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class EmployeeOnboardingStatusTypedDict(TypedDict): r"""The representation of an employee's onboarding status.""" @@ -62,6 +111,16 @@ class EmployeeOnboardingStatusTypedDict(TypedDict): r"""One of the \"onboarding_status\" enum values.""" onboarding_steps: NotRequired[List[EmployeeOnboardingStatusOnboardingStepTypedDict]] r"""List of steps required to onboard an employee.""" + blockers: NotRequired[List[BlockersTypedDict]] + r"""Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message. + + Supported categories: + + - `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict. + + This list may grow over time as new validation rules are added. + + """ class EmployeeOnboardingStatus(BaseModel): @@ -76,9 +135,20 @@ class EmployeeOnboardingStatus(BaseModel): onboarding_steps: Optional[List[EmployeeOnboardingStatusOnboardingStep]] = None r"""List of steps required to onboard an employee.""" + blockers: Optional[List[Blockers]] = None + r"""Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message. + + Supported categories: + + - `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict. + + This list may grow over time as new validation rules are added. + + """ + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["onboarding_status", "onboarding_steps"]) + optional_fields = set(["onboarding_status", "onboarding_steps", "blockers"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_company_notificationsop.py b/gusto_embedded/src/gusto_embedded/models/get_company_notificationsop.py index b8488a2c..853135a8 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_company_notificationsop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_company_notificationsop.py @@ -15,24 +15,24 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class QueryParamStatus(str, Enum): - OPEN = "open" - EXPIRED = "expired" - RESOLVED = "resolved" - - class GetCompanyNotificationsHeaderXGustoAPIVersion(str, Enum): r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" +class QueryParamStatus(str, Enum): + OPEN = "open" + EXPIRED = "expired" + RESOLVED = "resolved" + + class GetCompanyNotificationsRequestTypedDict(TypedDict): company_uuid: str r"""The UUID of the company for which you would like to return notifications""" - status: NotRequired[QueryParamStatus] x_gusto_api_version: NotRequired[GetCompanyNotificationsHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: NotRequired[QueryParamStatus] page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] @@ -45,11 +45,6 @@ class GetCompanyNotificationsRequest(BaseModel): ] r"""The UUID of the company for which you would like to return notifications""" - status: Annotated[ - Optional[QueryParamStatus], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - x_gusto_api_version: Annotated[ Optional[GetCompanyNotificationsHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -57,6 +52,11 @@ class GetCompanyNotificationsRequest(BaseModel): ] = GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: Annotated[ + Optional[QueryParamStatus], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -71,7 +71,7 @@ class GetCompanyNotificationsRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["status", "X-Gusto-API-Version", "page", "per"]) + optional_fields = set(["X-Gusto-API-Version", "status", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractor_payment_groupsop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractor_payment_groupsop.py index 75ede393..1fc0c406 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractor_payment_groupsop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractor_payment_groupsop.py @@ -24,6 +24,10 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion(str, class GetV1CompaniesCompanyIDContractorPaymentGroupsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company""" + x_gusto_api_version: NotRequired[ + GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion + ] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" start_date: NotRequired[str] r"""The time period for which to retrieve contractor payment groups. Defaults to 6 months ago.""" end_date: NotRequired[str] @@ -32,10 +36,6 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsRequestTypedDict(TypedDict): r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: NotRequired[ - GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion - ] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1CompaniesCompanyIDContractorPaymentGroupsRequest(BaseModel): @@ -44,6 +44,13 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsRequest(BaseModel): ] r"""The UUID of the company""" + x_gusto_api_version: Annotated[ + Optional[GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + start_date: Annotated[ Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -68,17 +75,10 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["start_date", "end_date", "page", "per", "X-Gusto-API-Version"] + ["X-Gusto-API-Version", "start_date", "end_date", "page", "per"] ) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractors_payment_detailsop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractors_payment_detailsop.py index 19625b6f..f928b6cd 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractors_payment_detailsop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_contractors_payment_detailsop.py @@ -24,14 +24,14 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion(str class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" - contractor_uuid: NotRequired[str] - r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" - contractor_payment_group_uuid: NotRequired[str] - r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" x_gusto_api_version: NotRequired[ GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: NotRequired[str] + r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" + contractor_payment_group_uuid: NotRequired[str] + r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): @@ -40,6 +40,15 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" + x_gusto_api_version: Annotated[ + Optional[ + GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion + ], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: Annotated[ Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,19 +61,10 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] = None r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" - x_gusto_api_version: Annotated[ - Optional[ - GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion - ], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["contractor_uuid", "contractor_payment_group_uuid", "X-Gusto-API-Version"] + ["X-Gusto-API-Version", "contractor_uuid", "contractor_payment_group_uuid"] ) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_pay_schedules_previewop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_pay_schedules_previewop.py index 880041a5..0b5e94fb 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_pay_schedules_previewop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_pay_schedules_previewop.py @@ -50,6 +50,8 @@ class GetV1CompaniesCompanyIDPaySchedulesPreviewRequestTypedDict(TypedDict): r"""An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the \"Twice per month\" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies.""" end_date: NotRequired[date] r"""End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today.""" + pay_schedule_uuid: NotRequired[str] + r"""Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule.""" class GetV1CompaniesCompanyIDPaySchedulesPreviewRequest(BaseModel): @@ -99,9 +101,17 @@ class GetV1CompaniesCompanyIDPaySchedulesPreviewRequest(BaseModel): ] = None r"""End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today.""" + pay_schedule_uuid: Annotated[ + Optional[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["X-Gusto-API-Version", "day_1", "day_2", "end_date"]) + optional_fields = set( + ["X-Gusto-API-Version", "day_1", "day_2", "end_date", "pay_schedule_uuid"] + ) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_payroll_reversalsop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_payroll_reversalsop.py index 026917b8..75f63600 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_payroll_reversalsop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_companies_company_id_payroll_reversalsop.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .versionheader import VersionHeader +from enum import Enum from gusto_embedded.types import BaseModel, UNSET_SENTINEL from gusto_embedded.utils import ( FieldMetadata, @@ -15,15 +15,23 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" + + class GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company""" + x_gusto_api_version: NotRequired[ + GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + ] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: NotRequired[VersionHeader] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1CompaniesCompanyIDPayrollReversalsRequest(BaseModel): @@ -32,6 +40,13 @@ class GetV1CompaniesCompanyIDPayrollReversalsRequest(BaseModel): ] r"""The UUID of the company""" + x_gusto_api_version: Annotated[ + Optional[GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -44,16 +59,9 @@ class GetV1CompaniesCompanyIDPayrollReversalsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[VersionHeader], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_company_onboarding_statusop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_company_onboarding_statusop.py index 56c4a8ea..c8888ca5 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_company_onboarding_statusop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_company_onboarding_statusop.py @@ -24,10 +24,10 @@ class GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion(str, Enum): class GetV1CompanyOnboardingStatusRequestTypedDict(TypedDict): company_uuid: str r"""The UUID of the company""" - additional_steps: NotRequired[str] - r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" x_gusto_api_version: NotRequired[GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + additional_steps: NotRequired[str] + r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" class GetV1CompanyOnboardingStatusRequest(BaseModel): @@ -36,12 +36,6 @@ class GetV1CompanyOnboardingStatusRequest(BaseModel): ] r"""The UUID of the company""" - additional_steps: Annotated[ - Optional[str], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" - x_gusto_api_version: Annotated[ Optional[GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -49,9 +43,15 @@ class GetV1CompanyOnboardingStatusRequest(BaseModel): ] = GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + additional_steps: Annotated[ + Optional[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["additional_steps", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "additional_steps"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_custom_fieldsop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_custom_fieldsop.py index 28b846ae..88c07359 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_custom_fieldsop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_custom_fieldsop.py @@ -24,14 +24,14 @@ class GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion(str, Enum): class GetV1EmployeesEmployeeIDCustomFieldsRequestTypedDict(TypedDict): employee_id: str r"""The UUID of the employee""" - page: NotRequired[int] - r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" - per: NotRequired[int] - r"""Number of objects per page. For majority of endpoints will default to 25""" x_gusto_api_version: NotRequired[ GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: NotRequired[int] + r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" + per: NotRequired[int] + r"""Number of objects per page. For majority of endpoints will default to 25""" class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): @@ -40,6 +40,13 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] r"""The UUID of the employee""" + x_gusto_api_version: Annotated[ + Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,16 +59,9 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_jobsop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_jobsop.py index dbd67f67..956658c1 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_jobsop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_employees_employee_id_jobsop.py @@ -15,6 +15,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" + + class GetV1EmployeesEmployeeIDJobsQueryParamInclude(str, Enum): r"""Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation @@ -24,15 +30,11 @@ class GetV1EmployeesEmployeeIDJobsQueryParamInclude(str, Enum): ALL_COMPENSATIONS = "all_compensations" -class GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion(str, Enum): - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - - TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" - - class GetV1EmployeesEmployeeIDJobsRequestTypedDict(TypedDict): employee_id: str r"""The UUID of the employee""" + x_gusto_api_version: NotRequired[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] @@ -42,8 +44,6 @@ class GetV1EmployeesEmployeeIDJobsRequestTypedDict(TypedDict): - all_compensations: Include all effective dated compensations for each job instead of only the current compensation """ - x_gusto_api_version: NotRequired[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1EmployeesEmployeeIDJobsRequest(BaseModel): @@ -52,6 +52,13 @@ class GetV1EmployeesEmployeeIDJobsRequest(BaseModel): ] r"""The UUID of the employee""" + x_gusto_api_version: Annotated[ + Optional[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -73,16 +80,9 @@ class GetV1EmployeesEmployeeIDJobsRequest(BaseModel): """ - x_gusto_api_version: Annotated[ - Optional[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "include", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per", "include"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_generated_documents_document_type_request_uuidop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_generated_documents_document_type_request_uuidop.py index b10ed5e5..a696890c 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_generated_documents_document_type_request_uuidop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_generated_documents_document_type_request_uuidop.py @@ -1,7 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .versionheader import VersionHeader from enum import Enum from gusto_embedded.types import BaseModel, UNSET_SENTINEL from gusto_embedded.utils import FieldMetadata, HeaderMetadata, PathParamMetadata @@ -11,6 +10,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" + + class PathParamDocumentType(str, Enum): r"""The type of document being generated""" @@ -22,7 +27,9 @@ class GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict(TypedDict): r"""The type of document being generated""" request_uuid: str r"""The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint.""" - x_gusto_api_version: NotRequired[VersionHeader] + x_gusto_api_version: NotRequired[ + GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -39,10 +46,10 @@ class GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest(BaseModel): r"""The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint.""" x_gusto_api_version: Annotated[ - Optional[VersionHeader], + Optional[GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + ] = GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_embedded/src/gusto_embedded/models/get_v1_jobs_job_idop.py b/gusto_embedded/src/gusto_embedded/models/get_v1_jobs_job_idop.py index 20aadbbf..710ba7ca 100644 --- a/gusto_embedded/src/gusto_embedded/models/get_v1_jobs_job_idop.py +++ b/gusto_embedded/src/gusto_embedded/models/get_v1_jobs_job_idop.py @@ -15,6 +15,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1JobsJobIDHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" + + class GetV1JobsJobIDQueryParamInclude(str, Enum): r"""Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation @@ -24,22 +30,16 @@ class GetV1JobsJobIDQueryParamInclude(str, Enum): ALL_COMPENSATIONS = "all_compensations" -class GetV1JobsJobIDHeaderXGustoAPIVersion(str, Enum): - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - - TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" - - class GetV1JobsJobIDRequestTypedDict(TypedDict): job_id: str r"""The UUID of the job""" + x_gusto_api_version: NotRequired[GetV1JobsJobIDHeaderXGustoAPIVersion] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" include: NotRequired[GetV1JobsJobIDQueryParamInclude] r"""Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation """ - x_gusto_api_version: NotRequired[GetV1JobsJobIDHeaderXGustoAPIVersion] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1JobsJobIDRequest(BaseModel): @@ -48,6 +48,13 @@ class GetV1JobsJobIDRequest(BaseModel): ] r"""The UUID of the job""" + x_gusto_api_version: Annotated[ + Optional[GetV1JobsJobIDHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + include: Annotated[ Optional[GetV1JobsJobIDQueryParamInclude], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -57,16 +64,9 @@ class GetV1JobsJobIDRequest(BaseModel): """ - x_gusto_api_version: Annotated[ - Optional[GetV1JobsJobIDHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["include", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "include"]) serialized = handler(self) m = {} diff --git a/gusto_embedded/src/gusto_embedded/models/payroll_digest_results.py b/gusto_embedded/src/gusto_embedded/models/payroll_digest_results.py index 116a3e40..d32e4d3f 100644 --- a/gusto_embedded/src/gusto_embedded/models/payroll_digest_results.py +++ b/gusto_embedded/src/gusto_embedded/models/payroll_digest_results.py @@ -38,14 +38,14 @@ class PayrollDigestResultsResultsStatus(str, Enum): FAILED = "failed" -class BlockersTypedDict(TypedDict): +class PayrollDigestResultsBlockersTypedDict(TypedDict): type: NotRequired[str] r"""A machine-readable blocker key (e.g. `missing_bank_account`).""" description: NotRequired[str] r"""Human-readable description of the blocker.""" -class Blockers(BaseModel): +class PayrollDigestResultsBlockers(BaseModel): type: Optional[str] = None r"""A machine-readable blocker key (e.g. `missing_bank_account`).""" @@ -296,7 +296,7 @@ class PayrollDigestResultsResultsTypedDict(TypedDict): r"""The legal/display name of the company.""" status: NotRequired[PayrollDigestResultsResultsStatus] r"""The status of this company's digest computation.""" - blockers: NotRequired[List[BlockersTypedDict]] + blockers: NotRequired[List[PayrollDigestResultsBlockersTypedDict]] r"""Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers.""" payrolls: NotRequired[List[PayrollsModelTypedDict]] r"""Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty.""" @@ -318,7 +318,7 @@ class PayrollDigestResultsResults(BaseModel): status: Optional[PayrollDigestResultsResultsStatus] = None r"""The status of this company's digest computation.""" - blockers: Optional[List[Blockers]] = None + blockers: Optional[List[PayrollDigestResultsBlockers]] = None r"""Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers.""" payrolls: Optional[List[PayrollsModel]] = None diff --git a/gusto_embedded/src/gusto_embedded/models/post_v1_webhook_subscriptionop.py b/gusto_embedded/src/gusto_embedded/models/post_v1_webhook_subscriptionop.py index cd0b0fce..23637a4e 100644 --- a/gusto_embedded/src/gusto_embedded/models/post_v1_webhook_subscriptionop.py +++ b/gusto_embedded/src/gusto_embedded/models/post_v1_webhook_subscriptionop.py @@ -57,6 +57,7 @@ class PostV1WebhookSubscriptionSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PostV1WebhookSubscriptionRequestBodyTypedDict(TypedDict): diff --git a/gusto_embedded/src/gusto_embedded/models/put_v1_webhook_subscription_uuidop.py b/gusto_embedded/src/gusto_embedded/models/put_v1_webhook_subscription_uuidop.py index d34ef888..49ca4110 100644 --- a/gusto_embedded/src/gusto_embedded/models/put_v1_webhook_subscription_uuidop.py +++ b/gusto_embedded/src/gusto_embedded/models/put_v1_webhook_subscription_uuidop.py @@ -58,6 +58,7 @@ class PutV1WebhookSubscriptionUUIDSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PutV1WebhookSubscriptionUUIDRequestBodyTypedDict(TypedDict): diff --git a/gusto_embedded/src/gusto_embedded/models/versionheader.py b/gusto_embedded/src/gusto_embedded/models/versionheader.py deleted file mode 100644 index 9a6675eb..00000000 --- a/gusto_embedded/src/gusto_embedded/models/versionheader.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - - -class VersionHeader(str, Enum): - TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15 = "2025-06-15" diff --git a/gusto_embedded/src/gusto_embedded/models/webhook_subscription.py b/gusto_embedded/src/gusto_embedded/models/webhook_subscription.py index 8112e99f..706ac8f0 100644 --- a/gusto_embedded/src/gusto_embedded/models/webhook_subscription.py +++ b/gusto_embedded/src/gusto_embedded/models/webhook_subscription.py @@ -34,6 +34,7 @@ class SubscriptionTypes(str, Enum): PAYROLL_SYNC = "PayrollSync" PAY_SCHEDULE = "PaySchedule" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class WebhookSubscriptionTypedDict(TypedDict): diff --git a/gusto_embedded/src/gusto_embedded/notifications.py b/gusto_embedded/src/gusto_embedded/notifications.py index 8001022c..47405604 100644 --- a/gusto_embedded/src/gusto_embedded/notifications.py +++ b/gusto_embedded/src/gusto_embedded/notifications.py @@ -52,8 +52,8 @@ def get_details( base_url = self._get_url(base_url, url_variables) request = models.GetNotificationsNotificationUUIDRequest( - notification_uuid=notification_uuid, x_gusto_api_version=x_gusto_api_version, + notification_uuid=notification_uuid, ) req = self._build_request( @@ -161,8 +161,8 @@ async def get_details_async( base_url = self._get_url(base_url, url_variables) request = models.GetNotificationsNotificationUUIDRequest( - notification_uuid=notification_uuid, x_gusto_api_version=x_gusto_api_version, + notification_uuid=notification_uuid, ) req = self._build_request_async( @@ -232,10 +232,10 @@ def get_company_notifications( self, *, company_uuid: str, - status: Optional[models.QueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + status: Optional[models.QueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -252,8 +252,8 @@ def get_company_notifications( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -272,9 +272,9 @@ def get_company_notifications( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) @@ -335,10 +335,10 @@ async def get_company_notifications_async( self, *, company_uuid: str, - status: Optional[models.QueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + status: Optional[models.QueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -355,8 +355,8 @@ async def get_company_notifications_async( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -375,9 +375,9 @@ async def get_company_notifications_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) diff --git a/gusto_embedded/src/gusto_embedded/payroll_digests.py b/gusto_embedded/src/gusto_embedded/payroll_digests.py index 064f39e5..57ffac2a 100644 --- a/gusto_embedded/src/gusto_embedded/payroll_digests.py +++ b/gusto_embedded/src/gusto_embedded/payroll_digests.py @@ -331,8 +331,8 @@ def get_v1_payroll_digests_payroll_digest_uuid( base_url = self._get_url(base_url, url_variables) request = models.GetV1PayrollDigestsPayrollDigestUUIDRequest( - payroll_digest_uuid=payroll_digest_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_digest_uuid=payroll_digest_uuid, ) req = self._build_request( @@ -443,8 +443,8 @@ async def get_v1_payroll_digests_payroll_digest_uuid_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PayrollDigestsPayrollDigestUUIDRequest( - payroll_digest_uuid=payroll_digest_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_digest_uuid=payroll_digest_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/payrolls.py b/gusto_embedded/src/gusto_embedded/payrolls.py index e9b57f1b..273f390f 100644 --- a/gusto_embedded/src/gusto_embedded/payrolls.py +++ b/gusto_embedded/src/gusto_embedded/payrolls.py @@ -81,8 +81,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -223,8 +223,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -612,11 +612,11 @@ def get_approved_reversals( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -631,9 +631,9 @@ def get_approved_reversals( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -650,10 +650,10 @@ def get_approved_reversals( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollReversalsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -718,11 +718,11 @@ async def get_approved_reversals_async( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -737,9 +737,9 @@ async def get_approved_reversals_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -756,10 +756,10 @@ async def get_approved_reversals_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollReversalsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -879,9 +879,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -1005,9 +1005,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -1347,10 +1347,10 @@ def delete( *, company_id: str, payroll_id: str, - async_: Optional[bool] = None, x_gusto_api_version: Optional[ models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion ] = models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + async_: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1368,8 +1368,8 @@ def delete( :param company_id: The UUID of the company :param payroll_id: The UUID of the payroll - :param async_: When true, request an asynchronous delete of the payroll. :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param async_: When true, request an asynchronous delete of the payroll. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1386,10 +1386,10 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyIDPayrollsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, async_=async_, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1455,10 +1455,10 @@ async def delete_async( *, company_id: str, payroll_id: str, - async_: Optional[bool] = None, x_gusto_api_version: Optional[ models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion ] = models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_FIVE_MINUS_06_MINUS_15, + async_: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1476,8 +1476,8 @@ async def delete_async( :param company_id: The UUID of the company :param payroll_id: The UUID of the payroll - :param async_: When true, request an asynchronous delete of the payroll. :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param async_: When true, request an asynchronous delete of the payroll. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1494,10 +1494,10 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyIDPayrollsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, async_=async_, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -1883,8 +1883,8 @@ def get_receipt( base_url = self._get_url(base_url, url_variables) request = models.GetV1PaymentReceiptsPayrollsPayrollUUIDRequest( - payroll_uuid=payroll_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_uuid=payroll_uuid, ) req = self._build_request( @@ -1988,8 +1988,8 @@ async def get_receipt_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PaymentReceiptsPayrollsPayrollUUIDRequest( - payroll_uuid=payroll_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_uuid=payroll_uuid, ) req = self._build_request_async( @@ -4178,9 +4178,9 @@ def get_v1_companies_company_id_payrolls_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -4281,9 +4281,9 @@ async def get_v1_companies_company_id_payrolls_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -4393,9 +4393,9 @@ def patch_v1_companies_company_id_payrolls_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, request_body=models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, @@ -4527,9 +4527,9 @@ async def patch_v1_companies_company_id_payrolls_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, request_body=models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, diff --git a/gusto_embedded/src/gusto_embedded/payschedules.py b/gusto_embedded/src/gusto_embedded/payschedules.py index f6904696..a10e4576 100644 --- a/gusto_embedded/src/gusto_embedded/payschedules.py +++ b/gusto_embedded/src/gusto_embedded/payschedules.py @@ -546,6 +546,7 @@ def get_preview( day_1: Optional[int] = None, day_2: Optional[int] = None, end_date: Optional[date] = None, + pay_schedule_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -571,6 +572,7 @@ def get_preview( :param day_1: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the \"Twice per month\" and \"Monthly\" frequencies. It will be null for pay schedules with other frequencies. :param day_2: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the \"Twice per month\" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. :param end_date: End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. + :param pay_schedule_uuid: Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -595,6 +597,7 @@ def get_preview( day_1=day_1, day_2=day_2, end_date=end_date, + pay_schedule_uuid=pay_schedule_uuid, ) req = self._build_request( @@ -673,6 +676,7 @@ async def get_preview_async( day_1: Optional[int] = None, day_2: Optional[int] = None, end_date: Optional[date] = None, + pay_schedule_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -698,6 +702,7 @@ async def get_preview_async( :param day_1: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the \"Twice per month\" and \"Monthly\" frequencies. It will be null for pay schedules with other frequencies. :param day_2: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the \"Twice per month\" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. :param end_date: End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. + :param pay_schedule_uuid: Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -722,6 +727,7 @@ async def get_preview_async( day_1=day_1, day_2=day_2, end_date=end_date, + pay_schedule_uuid=pay_schedule_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/people_batches.py b/gusto_embedded/src/gusto_embedded/people_batches.py index 39f8beb6..cdfcf55f 100644 --- a/gusto_embedded/src/gusto_embedded/people_batches.py +++ b/gusto_embedded/src/gusto_embedded/people_batches.py @@ -56,8 +56,8 @@ def post_v1_companies_company_id_people_batches( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyIDPeopleBatchesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, request_body=models.PostV1CompaniesCompanyIDPeopleBatchesRequestBody( idempotency_key=idempotency_key, batch_action=batch_action, @@ -186,8 +186,8 @@ async def post_v1_companies_company_id_people_batches_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyIDPeopleBatchesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, request_body=models.PostV1CompaniesCompanyIDPeopleBatchesRequestBody( idempotency_key=idempotency_key, batch_action=batch_action, @@ -310,8 +310,8 @@ def get_v1_people_batches_people_batch_uuid( base_url = self._get_url(base_url, url_variables) request = models.GetV1PeopleBatchesPeopleBatchUUIDRequest( - people_batch_uuid=people_batch_uuid, x_gusto_api_version=x_gusto_api_version, + people_batch_uuid=people_batch_uuid, ) req = self._build_request( @@ -412,8 +412,8 @@ async def get_v1_people_batches_people_batch_uuid_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PeopleBatchesPeopleBatchUUIDRequest( - people_batch_uuid=people_batch_uuid, x_gusto_api_version=x_gusto_api_version, + people_batch_uuid=people_batch_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/signatories.py b/gusto_embedded/src/gusto_embedded/signatories.py index e5ff9d77..93be39f4 100644 --- a/gusto_embedded/src/gusto_embedded/signatories.py +++ b/gusto_embedded/src/gusto_embedded/signatories.py @@ -52,8 +52,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDSignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -155,8 +155,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDSignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -284,8 +284,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompanySignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, signatory_create_request=models.SignatoryCreateRequest( first_name=first_name, middle_initial=middle_initial, @@ -438,8 +438,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompanySignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, signatory_create_request=models.SignatoryCreateRequest( first_name=first_name, middle_initial=middle_initial, @@ -589,8 +589,8 @@ def invite( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyUUIDSignatoriesInviteRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, signatory_invite_request=models.SignatoryInviteRequest( first_name=first_name, middle_initial=middle_initial, @@ -740,8 +740,8 @@ async def invite_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyUUIDSignatoriesInviteRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, signatory_invite_request=models.SignatoryInviteRequest( first_name=first_name, middle_initial=middle_initial, @@ -893,9 +893,9 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, signatory_update_request=models.SignatoryUpdateRequest( version=version, first_name=first_name, @@ -1047,9 +1047,9 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, signatory_update_request=models.SignatoryUpdateRequest( version=version, first_name=first_name, @@ -1178,9 +1178,9 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1284,9 +1284,9 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/taxrequirements.py b/gusto_embedded/src/gusto_embedded/taxrequirements.py index 6b8934ef..31ef16ac 100644 --- a/gusto_embedded/src/gusto_embedded/taxrequirements.py +++ b/gusto_embedded/src/gusto_embedded/taxrequirements.py @@ -56,9 +56,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, scheduling=scheduling, ) @@ -166,9 +166,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, scheduling=scheduling, ) @@ -283,9 +283,9 @@ def update_state( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, request_body=models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequestBody( requirement_sets=utils.get_pydantic_model( requirement_sets, Optional[List[models.TaxRequirementSetUpdate]] @@ -416,9 +416,9 @@ async def update_state_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, request_body=models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequestBody( requirement_sets=utils.get_pydantic_model( requirement_sets, Optional[List[models.TaxRequirementSetUpdate]] @@ -535,8 +535,8 @@ def get_all( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -638,8 +638,8 @@ async def get_all_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/webhooks.py b/gusto_embedded/src/gusto_embedded/webhooks.py index d1aa178a..970e4015 100644 --- a/gusto_embedded/src/gusto_embedded/webhooks.py +++ b/gusto_embedded/src/gusto_embedded/webhooks.py @@ -485,8 +485,8 @@ def get_subscription( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -591,8 +591,8 @@ async def get_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -699,8 +699,8 @@ def update_subscription( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -822,8 +822,8 @@ async def update_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -943,8 +943,8 @@ def delete_subscription( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1049,8 +1049,8 @@ async def delete_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -1159,8 +1159,8 @@ def verify( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), @@ -1284,8 +1284,8 @@ async def verify_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, request_body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), @@ -1405,8 +1405,8 @@ def request_verification_token( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1513,8 +1513,8 @@ async def request_verification_token_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded/src/gusto_embedded/wireinrequests.py b/gusto_embedded/src/gusto_embedded/wireinrequests.py index e13c3e1d..8dd0745a 100644 --- a/gusto_embedded/src/gusto_embedded/wireinrequests.py +++ b/gusto_embedded/src/gusto_embedded/wireinrequests.py @@ -48,8 +48,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, ) req = self._build_request( @@ -148,8 +148,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, ) req = self._build_request_async( @@ -256,8 +256,8 @@ def submit( base_url = self._get_url(base_url, url_variables) request = models.PutWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, wire_in_request_update_request_body=models.WireInRequestUpdateRequestBody( date_sent=date_sent, bank_name=bank_name, @@ -382,8 +382,8 @@ async def submit_async( base_url = self._get_url(base_url, url_variables) request = models.PutWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, wire_in_request_update_request_body=models.WireInRequestUpdateRequestBody( date_sent=date_sent, bank_name=bank_name, @@ -504,8 +504,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesCompanyUUIDWireInRequestUUIDRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, page=page, per=per, ) @@ -604,8 +604,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesCompanyUUIDWireInRequestUUIDRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, page=page, per=per, ) diff --git a/gusto_embedded_v_2026_06_15/.speakeasy/gen.lock b/gusto_embedded_v_2026_06_15/.speakeasy/gen.lock index 557c1f0d..6737e0d7 100644 --- a/gusto_embedded_v_2026_06_15/.speakeasy/gen.lock +++ b/gusto_embedded_v_2026_06_15/.speakeasy/gen.lock @@ -1,20 +1,20 @@ lockVersion: 2.0.0 id: 8bb7f281-1704-44a6-a188-a5280e71bf8a management: - docChecksum: 0a8003916e58c40d736ffe66fefa7aaa + docChecksum: 401645bd9d22e3605f3720db91b2f661 docVersion: "2026-06-15" - speakeasyVersion: 1.769.1 - generationVersion: 2.892.1 - releaseVersion: 0.0.1 - configChecksum: 6fc01b190c7c317589876896709163e8 + speakeasyVersion: 1.771.0 + generationVersion: 2.893.0 + releaseVersion: 0.0.2 + configChecksum: d0742e5d184c8c100350558003333699 repoURL: https://github.com/Gusto/gusto-python-client.git repoSubDirectory: gusto_embedded_v_2026_06_15 installationURL: https://github.com/Gusto/gusto-python-client.git#subdirectory=gusto_embedded_v_2026_06_15 published: true persistentEdits: - generation_id: c75680ed-3537-4eb8-b89a-cb3e9dde6db8 - pristine_commit_hash: 9d00741b66828c5b92bb5f1913a90c065d6c7444 - pristine_tree_hash: c69ae3bdfcdeea82ac740edacae1452ee7f79d93 + generation_id: 20605316-1369-473b-8f8a-e603a8b0a3b9 + pristine_commit_hash: 4f72490deabf5716749298e5ead18492e96f3128 + pristine_tree_hash: 782bd699da3d5fa7f1e7286dc7f859fe70692994 features: python: additionalDependencies: 1.1.0 @@ -206,8 +206,8 @@ trackedFiles: pristine_git_object: 7d84256e2958b9ea36f42a1ba37841fd266cb5ec docs/models/blockers.md: id: be05f80f786d - last_write_checksum: sha1:cf271f373494c3d486034ed3879c6de0c7fb44a6 - pristine_git_object: b96b99dec729c7b3aa39d135a0be08390b11ac4f + last_write_checksum: sha1:918445d6dc21497c11ccff05f31a9a00dca30a9c + pristine_git_object: e2db1ac3676428d82d9f5a3cd98e8fad1ff4532d docs/models/blockertype.md: id: 491d41b39d65 last_write_checksum: sha1:778eec353353dd18b424e892004779f16dc51f32 @@ -762,8 +762,8 @@ trackedFiles: pristine_git_object: 3afe082d54d10784d4c2d18a8f9b52383fbd55d9 docs/models/deletedepartmentrequest.md: id: ba9cf41722bf - last_write_checksum: sha1:8af1f594a2dfa6277b7cb31bf14a20dca38b9e02 - pristine_git_object: fa5403d9558d867938b11fddc5ab6390ff2d5b76 + last_write_checksum: sha1:307ae1ed3132c076e19633d12c2e1735755c408b + pristine_git_object: 5e11e97f01a08b6f1bf458b84061e81cf79fbb71 docs/models/deletev1companiescompanyidbankaccountsbankaccountidheaderxgustoapiversion.md: id: b55fcf37d9f5 last_write_checksum: sha1:81748a56ceb979c47aa038f32737c12d5844f79a @@ -794,8 +794,8 @@ trackedFiles: pristine_git_object: b12acd24a25fb8b3a99830f2826ba7c5b541d2f3 docs/models/deletev1companiescompanyidpayrollsrequest.md: id: 306e4ca39f9a - last_write_checksum: sha1:b6d9e93d2eeeffe476970e8ed52cb8351a2fd3da - pristine_git_object: 8ae555aa813a086340147ea9a1814c1434cb6db0 + last_write_checksum: sha1:206d09b69bd6c90a137051c0e32ccf70f4f72245 + pristine_git_object: 9c17b7055f2c03e4779bc7b4736ede0e126c1d77 docs/models/deletev1companiescompanyuuidholidaypaypolicyheaderxgustoapiversion.md: id: 1a86ad620004 last_write_checksum: sha1:caac1ce98b302003b15995a5b760fb18eeaba1b5 @@ -810,8 +810,8 @@ trackedFiles: pristine_git_object: 69d3017fcbb2d30f0e5d8b569f4f341891f611bf docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md: id: 3c59f322d694 - last_write_checksum: sha1:fcd82df3096809b70e9e07a9a95258604ffda725 - pristine_git_object: 64eb8d98b8ec22c177f7c2939ce24b9a8cc2cc4a + last_write_checksum: sha1:0b6bbbb1cfb91ae70eba2eb8dcc8d4373a60762b + pristine_git_object: bc943c395f11745c9fc7f03b1ad155665b16f67a docs/models/deletev1companybenefitscompanybenefitidheaderxgustoapiversion.md: id: a4fab4762b8b last_write_checksum: sha1:432a83b89c574b93bfe674fafa2bdd0c6c9e4580 @@ -834,8 +834,8 @@ trackedFiles: pristine_git_object: 1ddc686a8ee5936547d60adf5dc67a9233f1a013 docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md: id: c3369e2b983e - last_write_checksum: sha1:1f05b6617647b2bf281c8c59d64b0dbe9c332e1f - pristine_git_object: 151e2c4b6c4bf60c1155179ef2ced93afbfb9d7f + last_write_checksum: sha1:dde9462ca9b0678b3d14518a7a39e00ac7f621ed + pristine_git_object: b8aac02957370ea60c8153c698c8a312e259b266 docs/models/deletev1contractorscontractoruuidheaderxgustoapiversion.md: id: 177aee4e1a18 last_write_checksum: sha1:61879d52564051a76905843eb94b051d9ed98502 @@ -846,8 +846,8 @@ trackedFiles: pristine_git_object: a5c2c6f81898cbfba7f951b1254b3b64d7010103 docs/models/deletev1contractorscontractoruuidrehirerequest.md: id: 2b48149db324 - last_write_checksum: sha1:e21bafc575bb7f8275f256bddecbafe76bc9b820 - pristine_git_object: a7b067ebca81908af469596d03015fea0c2473cb + last_write_checksum: sha1:f3061cf66c62065fac2e8f4237e76b63228c0bfd + pristine_git_object: 9b156172057acc1f6afa6ab6d76e9d2b8e077457 docs/models/deletev1contractorscontractoruuidrequest.md: id: 4c8e72928571 last_write_checksum: sha1:add0cf010d09cf372ae1f677e0724da38a59b193 @@ -858,8 +858,8 @@ trackedFiles: pristine_git_object: 8e6c95fbe43069cfdc4a3b70c6a025f2425e7609 docs/models/deletev1contractorscontractoruuidterminationrequest.md: id: 16a802812dbd - last_write_checksum: sha1:5339f8afefeafa36444fed593e1ff4b32fe6a8ec - pristine_git_object: 2496ffc802e001f936a820eaab210be6fd98796a + last_write_checksum: sha1:0f57177c4b796d4c1082692a08f82c64a2e40537 + pristine_git_object: 00717d08e3616457a4f3a68f26f614256d1fad45 docs/models/deletev1employeebenefitsemployeebenefitidheaderxgustoapiversion.md: id: 0e9d69693373 last_write_checksum: sha1:eb23367866c056d338df6d7ced6f3ef9facf5e49 @@ -930,8 +930,8 @@ trackedFiles: pristine_git_object: a46a9cebab231ac1f70a66b99be35641e66b3717 docs/models/deletev1jobsjobidrequest.md: id: dcb42d8fb9d3 - last_write_checksum: sha1:a40b5f433a9177c2268aa25d1523b0a5d56313e2 - pristine_git_object: 6724cfe689c93be352954cdad206c307b58332f8 + last_write_checksum: sha1:a7c196f24c11c8b1a3322aae74abb22599294eda + pristine_git_object: 6d9df121e729d60e5c517b2d19404024b6129e77 docs/models/deletev1recurringreimbursementsheaderxgustoapiversion.md: id: 060231488a8f last_write_checksum: sha1:ac530e1d55d62637850238a5932ba668ce0a81db @@ -954,8 +954,8 @@ trackedFiles: pristine_git_object: 367af7c1861bcadc3514a486f5b3593f10d3793b docs/models/deletev1webhooksubscriptionuuidrequest.md: id: 24f1d40e16f6 - last_write_checksum: sha1:f0ffa08b88ab307c76aa2c45beaa5baa801b4439 - pristine_git_object: b44156c9feee50ace1fb938c36ce6cafcce293fa + last_write_checksum: sha1:e5579667f0169dedc74f5eb2397b9902e3c262c5 + pristine_git_object: 3b1cbfd9ce7914558acfacd77fb3c4bdde90e45a docs/models/deletev1webhooksubscriptionuuidsecurity.md: id: 3deb093db84b last_write_checksum: sha1:8740b24efc9bb23066f3d39311254a17b913b79d @@ -966,8 +966,8 @@ trackedFiles: pristine_git_object: ffce2a78d0050899501767a83ae0c766f5d3997e docs/models/deletev1workaddressesworkaddressuuidrequest.md: id: 35718dbe6d0b - last_write_checksum: sha1:51a04e719ff7033831b29ebb321148f81dafcf04 - pristine_git_object: e21c51ef856960c88973c35533d240413bf288d9 + last_write_checksum: sha1:a8126fe3d046f4e504bdf7fb970912f0f99b85e1 + pristine_git_object: 103375b831f574790646bb08af3d2734a0f30f67 docs/models/department.md: id: a35d7d606751 last_write_checksum: sha1:e9c947ef8fdf90833d48e7205aa0b972746f3f93 @@ -1250,12 +1250,16 @@ trackedFiles: pristine_git_object: 72335d3a49f863bcb9b872157158b5d622fd410a docs/models/employeeonboardingstatus.md: id: 9b98e864b573 - last_write_checksum: sha1:5eacfcfe663a5e4cf2b7d48021a029b2f4d2edf2 - pristine_git_object: 1bcf08408c41188180b3e5831dda8e067398a458 + last_write_checksum: sha1:bbde0eef5fdcd7857331da5833d2904b3cf21077 + pristine_git_object: 08704151d281d803fd5ad65f96bd8c8d4e4b67ed docs/models/employeeonboardingstatus1.md: id: "348218618354" last_write_checksum: sha1:ddbb74a188a34a785928fde4dff2da1d75e45d6a pristine_git_object: bd7a3eaebd9493d186d4bfd21823dc80ff09d838 + docs/models/employeeonboardingstatuscategory.md: + id: 65239daa3f1b + last_write_checksum: sha1:29cd01017bd98e24905d9b3b7d284facd75e92f5 + pristine_git_object: fd757c7717974cf87313829c1813b3336cb51f0d docs/models/employeeonboardingstatusonboardingstep.md: id: 4c1c95be4669 last_write_checksum: sha1:748d349954d5c47035da14da9771725ae12fac01 @@ -1492,6 +1496,10 @@ trackedFiles: id: a0e8b6b2567f last_write_checksum: sha1:1297a28d74e75acff3410afccae6690ae87dfcbf pristine_git_object: 521acc7db32b6434da2dda44c2dc267e5c5d589a + docs/models/fieldt.md: + id: b45bd96c7b1d + last_write_checksum: sha1:c5ef7c7c3482523ad58aeb8c032aa980f52fa9f8 + pristine_git_object: f4b14246e02b7506ce675160d94d9c20df266432 docs/models/filetype.md: id: 6474ff839025 last_write_checksum: sha1:bdc3aaa3b16d4863705a3d2feb1dbd56fac0f293 @@ -1630,32 +1638,32 @@ trackedFiles: pristine_git_object: eb80648905227cdbd93ae50c4dc3ec894489590f docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md: id: 8d8b75157646 - last_write_checksum: sha1:df583de9e84f6370de358d81eab2e7a93d60086e - pristine_git_object: f0499c07a00067d6e5130c80a00db60a7746e629 + last_write_checksum: sha1:ad86f3972ca520deb2e41a06c54de2e0a8eb20be + pristine_git_object: 484c54d79003a42a46849de895e3b5710d4a0e35 docs/models/getcompaniesdepartmentsheaderxgustoapiversion.md: id: 4d4594a3c6e6 last_write_checksum: sha1:8b48fb0da6a40ff14cc9b5a2fec0a749a2231684 pristine_git_object: d8507b24bcddf590fbc22e98dd8fd5d7a4b9b160 docs/models/getcompaniesdepartmentsrequest.md: id: a61ebf4ee118 - last_write_checksum: sha1:f13fbaf077f9bb422598183d6239c7ee0b0d9cf8 - pristine_git_object: 0ec638e323177c89b1948d655f31d4314099b377 + last_write_checksum: sha1:e2f954a0df55b1e1697f7c016e37cd0197db3383 + pristine_git_object: d598309d2ca3ad4694db5a0aa6dc9d9296a165d4 docs/models/getcompanynotificationsheaderxgustoapiversion.md: id: 09f6be0fe6a0 last_write_checksum: sha1:9574cd3169c9d8181bf57c15a47123ea0fa62333 pristine_git_object: 13b1e21fccc7834f3419757c9ff2a6c310b8cd29 docs/models/getcompanynotificationsrequest.md: id: d9d552594b63 - last_write_checksum: sha1:1e0f8d08640ef93ca55de13deb4a6b4cdac7542c - pristine_git_object: 637a1ff07729bd9b9be4c047ba9f25abc3f03c86 + last_write_checksum: sha1:ac3e3382a76e7d21c3dee0768120323567a40e8e + pristine_git_object: b870aa1738995087fd1fc08049cad88a80093a28 docs/models/getdepartmentheaderxgustoapiversion.md: id: 2b542b244895 last_write_checksum: sha1:cb418f1e5fc6aaa645f7824b6a6d7705176db128 pristine_git_object: e14267c553f7b3744442768de2363516f10cd25b docs/models/getdepartmentrequest.md: id: 4224280cb519 - last_write_checksum: sha1:1af0b412d6aa245611b3d218d888de0ab110455b - pristine_git_object: 8db1cf927cb21ac7a70fab04402c324d4c3f2bc9 + last_write_checksum: sha1:66966f9bcf28b586c0346f777079735e1ef616a1 + pristine_git_object: 23a6159c7c251ac2048e14c3d3bfb0f6d7bdf105 docs/models/getemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: da7bbcc52e44 last_write_checksum: sha1:b581f27847282fe621184987e0c60efab0089ed1 @@ -1702,8 +1710,8 @@ trackedFiles: pristine_git_object: 7b9ab22463178035896686326aa1d6c42fbab9c3 docs/models/getnotificationsnotificationuuidrequest.md: id: 62e4af8be916 - last_write_checksum: sha1:ccbe21dcc4b400e6b8c68694af24f2a94c936e67 - pristine_git_object: 53bfcd35d38e28a82be5a19cf3ee002f8a689b4a + last_write_checksum: sha1:1bb91938d79e644421b7c62ebd8f4087836a32a7 + pristine_git_object: 4c5a3710299989312084bef7172d766a93f6308c docs/models/getrecoverycasesheaderxgustoapiversion.md: id: cce0da36e603 last_write_checksum: sha1:0112d6320ebb38959b09250239e2863065f4d881 @@ -1810,8 +1818,8 @@ trackedFiles: pristine_git_object: f35b15dba05c783e5bd99c1e48690a6ca7843f48 docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md: id: 7204cf786010 - last_write_checksum: sha1:522e34251564ee512e92906ac5c2abf3cf819ca1 - pristine_git_object: 9e83cb0dc335f9a1bcd35b742e9099d8c1ccb607 + last_write_checksum: sha1:655a46c192ef59fcd1ffd6c493593bcbe3f0459d + pristine_git_object: 6e84055080f88b8c1b8fd449c763dc069fa5e7fa docs/models/getv1companiescompanyidcontractorpaymentsheaderxgustoapiversion.md: id: f4f5b787abe6 last_write_checksum: sha1:5d0de809dd7608283c91ab6658bdbad9ad3cfe7f @@ -1830,8 +1838,8 @@ trackedFiles: pristine_git_object: afd42b666220b227e6a3f3dbb9239ee411e9dc09 docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md: id: 521c21287e14 - last_write_checksum: sha1:ee93ea69a420b707fe13ea0d71c9e69446d9f21e - pristine_git_object: 0d986047a45cdccf132060337ccc89a8b6795a60 + last_write_checksum: sha1:c1822673c6c6fde73b763df3b0eff9bc543963f7 + pristine_git_object: 3e6b39b9cb0af6cf582d5d9f753beae73e39e071 docs/models/getv1companiescompanyidcustomfieldsheaderxgustoapiversion.md: id: 31414dab58c7 last_write_checksum: sha1:eddb43c64c6d686922fe912015e7e653dfea8b67 @@ -1874,8 +1882,8 @@ trackedFiles: pristine_git_object: 09315755e01bbaf4472d4b6ca350e127712a8816 docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md: id: c671f3fe5b25 - last_write_checksum: sha1:61f7d278ce09a86fc2edffbc97cd30df1e072b23 - pristine_git_object: 14459d04a025324e64cbc3b50f213d9669a604ec + last_write_checksum: sha1:03069ac8b7612fbcd6a377b2b4b1d5534342287b + pristine_git_object: 07967a24e3f85f5faf90bcab939587392b521754 docs/models/getv1companiescompanyidlocationsheaderxgustoapiversion.md: id: 0c83792c46d1 last_write_checksum: sha1:1fcff15de3df898444288370e44164ad9f6bb836 @@ -1892,10 +1900,14 @@ trackedFiles: id: 6366ac379cce last_write_checksum: sha1:655228371790fa2953a3fa6987b769e5efb98781 pristine_git_object: 4ba58e7f8633252d349eae43602278320d802f6d + docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md: + id: e8d5c96348c9 + last_write_checksum: sha1:435b97418cfd57b23fc780b0030bf360ecc4f5a8 + pristine_git_object: 304f6600354724ccea2d253db11e3c49b8401977 docs/models/getv1companiescompanyidpayrollreversalsrequest.md: id: 1c85a798e584 - last_write_checksum: sha1:99a71314d1656755739fd22495fdd9c47beae392 - pristine_git_object: f46286b22b070951a4c3da3539f23fb5a0a7d7ba + last_write_checksum: sha1:f00db094e4a7c71b44d0f41502a1c40a75e12184 + pristine_git_object: 918d87b715b22296a07e9497d6a0d9f25177e9c2 docs/models/getv1companiescompanyidpayrollsheaderxgustoapiversion.md: id: df3f762ebcdd last_write_checksum: sha1:c4c3c06908697308fc1b7a4162cae403f3c7782e @@ -1906,8 +1918,8 @@ trackedFiles: pristine_git_object: c4b65ed87bebd5a7423186e347daad5253155d02 docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md: id: bb1204c8abc8 - last_write_checksum: sha1:dae2fdaf59443719d212ee173391c8a64c9c5466 - pristine_git_object: 1dcfd430036804771fbaa8c01ca2da2b51c899af + last_write_checksum: sha1:198669cfb7e72126d908d842808cc10cbdb712ce + pristine_git_object: 3d70561d5af6b8793e1a32f6d56581cb6364d697 docs/models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md: id: e34e096b88f0 last_write_checksum: sha1:2d0012b670dfdb8798b94fa1915a7a1820a7f818 @@ -1918,16 +1930,16 @@ trackedFiles: pristine_git_object: 84e52b5593a8f7b6baba2d7f9601d5cfcc4c0b2f docs/models/getv1companiescompanyidpayrollspayrollidrequest.md: id: 18b7df56f915 - last_write_checksum: sha1:1f724cbaa4c349e5b27fe0512ae8a33a4c40ca28 - pristine_git_object: 437f96d447b639d69e898c4439f7a1bc63f621e8 + last_write_checksum: sha1:666a8b347d05884f7cd3de16d318b96828a25719 + pristine_git_object: bc90ad8697ecd47ec44159164e4b7738df745bb6 docs/models/getv1companiescompanyidpayrollsqueryparaminclude.md: id: f0ab7b48060c last_write_checksum: sha1:76fecb402abb332744974db8c11878c761a7172d pristine_git_object: 06aa237dfe84e5f48f15064a4344eb41eae6b963 docs/models/getv1companiescompanyidpayrollsrequest.md: id: f74644d59582 - last_write_checksum: sha1:0d30f2facdbbb6f32e125e9e9e2c6bbebbbc9e83 - pristine_git_object: 92805c2285d7a3b8d30da0ddef57e1afd229f87b + last_write_checksum: sha1:03bf3f514fac3769985ab707cca338dbac6a166b + pristine_git_object: fed93555892520176cd274e4b05cdf7c68b6eeb2 docs/models/getv1companiescompanyidpayschedulesassignmentsheaderxgustoapiversion.md: id: 8de2ec62f405 last_write_checksum: sha1:f6c61102f7db88216674b9f5fb8d50a2ca7edc73 @@ -1954,8 +1966,8 @@ trackedFiles: pristine_git_object: fc709432b818783b81cf136bba14a53f64aaf30a docs/models/getv1companiescompanyidpayschedulespreviewrequest.md: id: 7fbbd6dc40e2 - last_write_checksum: sha1:d5f5287f2e7cdda638f94f59bcca4e55f2560a2d - pristine_git_object: 3fb46982cd8884cd72f0dca57d05a9cf500e4034 + last_write_checksum: sha1:a1fcd329ce6111183c2d8dd475660a06eaee41c0 + pristine_git_object: 345f14800211d584d35c0fde1f98c92afae9ef6b docs/models/getv1companiescompanyidpayschedulesrequest.md: id: b07564200b9f last_write_checksum: sha1:c851031186b4911cda304fd5ca0277ef81ffddc9 @@ -1994,24 +2006,24 @@ trackedFiles: pristine_git_object: f5e8a10a045d33decc6947409b820242ec0cae21 docs/models/getv1companiescompanyuuidsignatoriesrequest.md: id: 42fb6410f213 - last_write_checksum: sha1:c9f55bda47f260f56e6f25cd2c82c8579ba9fb7d - pristine_git_object: da8123764cc84cc8a12253496bb889e3cf763902 + last_write_checksum: sha1:27897c3452fa08b76be2f25d68a78c7f3c1b9aff + pristine_git_object: 1b6a534cac14d53d0fb24be3f22c723538fa8629 docs/models/getv1companiescompanyuuidtaxrequirementsheaderxgustoapiversion.md: id: c8958ca5e31d last_write_checksum: sha1:ca3ae8cba62e7b88726014fccd9960f69bcade64 pristine_git_object: 13555b55809f901d3024209199a5c23d250c145c docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md: id: "026132448195" - last_write_checksum: sha1:11bf48a8dca5008d85252121fe4a337310ded763 - pristine_git_object: f4e03fa89266b42bb042301f3c4fbf74f3f6023a + last_write_checksum: sha1:e9e95f51def5fd85078684bf21c8eb6a15337cc5 + pristine_git_object: c05407c42c7964b583c85c9b1f6c09bd71c30fe1 docs/models/getv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md: id: a73c89c8f3f9 last_write_checksum: sha1:227d8df21c17ff4bfbc582d920bcee5fbd1e5144 pristine_git_object: c65b48fd5bebbd12de16c17b7379f1adacd26783 docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md: id: 6b104729e251 - last_write_checksum: sha1:1e244b0220812808ecb0ca12476b5976c439d305 - pristine_git_object: bc1a063fbfa27d6bb6e409c0ec3c8e61798645d3 + last_write_checksum: sha1:eba49a75a1cb222ee07cae6d83c7e8d900dcf283 + pristine_git_object: 47480df77bf224bd2ecb817f1909fc6b75ab00c7 docs/models/getv1companiescompanyuuidtimeoffbalancesheaderxgustoapiversion.md: id: 21217f8edb90 last_write_checksum: sha1:0ad1aa382eab17a6b78bd33cca41a4d1b3b78e15 @@ -2050,8 +2062,8 @@ trackedFiles: pristine_git_object: 618bcff5066e7bd11d3b6c980fd8f8e10dd2691e docs/models/getv1companiesrequest.md: id: e2f1037ade12 - last_write_checksum: sha1:34d99629ebd4b9e00c11940f14a29e5f3b7d6404 - pristine_git_object: ddf4598ff558fc0bf94368fb59dafe71ad520980 + last_write_checksum: sha1:755dc3743653fbba8faf5803705fcedd24a38814 + pristine_git_object: 4a4c0132dbb7845ff662ecbee81ef4dd5ba70086 docs/models/getv1companybenefitscompanybenefitidcontributionexclusionsheaderxgustoapiversion.md: id: 0fa158f0c89d last_write_checksum: sha1:14b4d00c1e4f57e82ab2e66a637df2e15115ea39 @@ -2090,8 +2102,8 @@ trackedFiles: pristine_git_object: 45483e7884a889eab82296c9e5b315c2ee52a28e docs/models/getv1companyfinishonboardingrequest.md: id: b44f8cd2c2ee - last_write_checksum: sha1:97359dab42d1458d243d570e379e4ee20f4b54f4 - pristine_git_object: 25b53553e79aa78f467ab58535c13190ae9985e6 + last_write_checksum: sha1:5932bd4c77ea57ce24bc25ed4a675655822e1924 + pristine_git_object: ce122267f61e5514c0979ed5e88d968836b1c51d docs/models/getv1companyformheaderxgustoapiversion.md: id: c2bead90dd71 last_write_checksum: sha1:6c637b859322b648fa3675a954cfc2b83226ecfe @@ -2122,16 +2134,16 @@ trackedFiles: pristine_git_object: cc40b8bf7d9fb681e78075555acf83ed1ac86b1d docs/models/getv1companyindustryrequest.md: id: 2fbfbff9199a - last_write_checksum: sha1:90c6dae038324c3c1ac7c3932146f6bc1c7a6646 - pristine_git_object: 3394230d9db304e3df5430a234f780e4944e3ed4 + last_write_checksum: sha1:c3fd281aa2f012b55feb49a9f2e7e0868106053f + pristine_git_object: a7b683e8365699f0d5137bc8b2f0fe27917be8fc docs/models/getv1companyonboardingstatusheaderxgustoapiversion.md: id: d67ab589fa58 last_write_checksum: sha1:071d80977ec88c4e1478c7e2ec5e62a621ec9c1d pristine_git_object: 4c91f1c4568e61ebaa18ba3b06f09cc4569f06f5 docs/models/getv1companyonboardingstatusrequest.md: id: 34fd982eef33 - last_write_checksum: sha1:e33854200419e6d1cd3fe60ac2fa5450b9c0b8bc - pristine_git_object: e7d9a6ccbb6cfae344b1aa0abe441bf0a18efbbd + last_write_checksum: sha1:d6298219c128d1d73543ba9c270648500839af0a + pristine_git_object: 51fbef25094d71469ecab96344acc53e79169254 docs/models/getv1companypaymentconfigsheaderxgustoapiversion.md: id: 9d15deb53069 last_write_checksum: sha1:66edb9f438f8c8d049eb69e3ca7c1043032da3aa @@ -2202,16 +2214,16 @@ trackedFiles: pristine_git_object: 5025d20337f5ff121af8a25343da6d285d60a7e0 docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md: id: 1007d1e0224a - last_write_checksum: sha1:208203f91b98f91773eede1389fd29355aff90f3 - pristine_git_object: b96ae30fa63b00d9d2731675013051ed9626a9a8 + last_write_checksum: sha1:7de0b2b101a8ec7403f16ac6c6ea29010fa4acd4 + pristine_git_object: 43ff84ba44c0ad08fadaddca08ab89b606781658 docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md: id: 6af7a38e0bcb last_write_checksum: sha1:5272381156196556d76d02f836d05ad134538d0c pristine_git_object: 5e12aacf39324493891e2577f3c45dc9b969e050 docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md: id: e9eaf73a11dd - last_write_checksum: sha1:39267e5a885618c3d2d74de9a412a629a706525b - pristine_git_object: c73f4965dcb8de75cbcd3675f65499136e006232 + last_write_checksum: sha1:948fb5b35ce5ceca6697f2ba4c51b2e7b3031c85 + pristine_git_object: a9f03ceccc0d9b6c21c516d44e41ae83f8f4ba18 docs/models/getv1contractorpaymentscontractorpaymentidpdfheaderxgustoapiversion.md: id: 2c32d2e732bd last_write_checksum: sha1:ae114ca4ec260476f245205a14048d8484a70603 @@ -2326,8 +2338,8 @@ trackedFiles: pristine_git_object: 7b4605aa6f8a7933f75eb3545d9b5ed14d0494c5 docs/models/getv1employeesemployeeidcustomfieldsrequest.md: id: 528971b8aa8d - last_write_checksum: sha1:3998cc6d74753e9e2ab1042523e226deed73728c - pristine_git_object: ad3665fed8d31556b04063492b74668c3893adb6 + last_write_checksum: sha1:543fedfe62da50ed887c6efcf07630b42a81e687 + pristine_git_object: dd48aea74608c9e6e059498eba97a908fd8b0ddd docs/models/getv1employeesemployeeidemployeebenefitsheaderxgustoapiversion.md: id: 9f1ff8ca4dba last_write_checksum: sha1:7d55bb86ce31b13d5e992e153dda6c3a8be8f8e0 @@ -2370,8 +2382,8 @@ trackedFiles: pristine_git_object: 5b31882c5eeeb0554cf539ddabb57022dd9329f2 docs/models/getv1employeesemployeeidhomeaddressesrequest.md: id: 2db0bc82832c - last_write_checksum: sha1:4bf5c24ca76cd171eda42e8f3b1404f960b6f4dc - pristine_git_object: 25bcddc36560596b77b6e02f1a039dd9fc78ab72 + last_write_checksum: sha1:424c4f5f2de86c18ab7813da2d26a394876bf1b1 + pristine_git_object: 50cef7ab0ddfc6c1174e377db7190b14569aed06 docs/models/getv1employeesemployeeidi9authorizationdocumentoptionsheaderxgustoapiversion.md: id: 26887ff51d54 last_write_checksum: sha1:993058f526af3be70e44adc2d9929577af6804a4 @@ -2406,8 +2418,8 @@ trackedFiles: pristine_git_object: 89d9023deefd975e748401b956ff1f02a3c2bbf0 docs/models/getv1employeesemployeeidjobsrequest.md: id: 69a9c24c722f - last_write_checksum: sha1:9c574c720f2a95b97d4ee6ed2e3e7eae5fdb2bdb - pristine_git_object: 1de83b22bb69cabe92d3b7c0586fed421530ecfa + last_write_checksum: sha1:6d04b450f74144aab457990103f4a563be5b506b + pristine_git_object: b7ba032678e00a525c37658f944d3a9f937f9906 docs/models/getv1employeesemployeeidonboardingstatusheaderxgustoapiversion.md: id: 58b7dc3235b2 last_write_checksum: sha1:043034a9b329046c2c18a700a45d549b6a0d9d8c @@ -2462,8 +2474,8 @@ trackedFiles: pristine_git_object: 82b0c0f4ad6c36532035bee6f97debb4188f4896 docs/models/getv1employeesemployeeidworkaddressesrequest.md: id: e43728e47a3a - last_write_checksum: sha1:f4fcdf809ccf7d0ae3c3b132337f789a24e8ef0a - pristine_git_object: 00b143d58c5ff80209473e31642b9618bc60a943 + last_write_checksum: sha1:7f23586e14e8f0544a5d6ab12c83adf7309c26f6 + pristine_git_object: 93254bf5957eb2e1c49d76f7f57bd587d9d53771 docs/models/getv1employeesemployeeuuidpaystubsheaderxgustoapiversion.md: id: 6923e3fc2da1 last_write_checksum: sha1:9a8fb809804df9093aba474332d2539a7aa64ce4 @@ -2478,16 +2490,16 @@ trackedFiles: pristine_git_object: 8fcece395377901a18762b35e466a363b2f6ae41 docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 26a889c306e3 - last_write_checksum: sha1:c75f797082d41d5939a9576e8095bb4a91ff642f - pristine_git_object: 098f64eadf222fd3f023fc69a38bea18fd042454 + last_write_checksum: sha1:2ce9bc8050060d129120c6af43a5e58338365a41 + pristine_git_object: 2d27a7def9dc48592f4f927e4b1e62a241050d14 docs/models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md: id: cd07a69db8b3 last_write_checksum: sha1:38552c842076c6844587b2e263c0f1803445791d pristine_git_object: 9d6c528e396a6eb5a5a2a049966d213847d49853 docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: 800013cafed2 - last_write_checksum: sha1:a3e99abdd2c8d04150e293f25b6ae031534952d5 - pristine_git_object: de8d6594a51ea6b711fbff54f6488ccff101bf9e + last_write_checksum: sha1:646852b4312d1a7e810a472f12a82498a18318a4 + pristine_git_object: 743bef6256e81fc0bc30d84713e33d669bf679f5 docs/models/getv1employeesheaderxgustoapiversion.md: id: 8662bc987474 last_write_checksum: sha1:5a1a63ca991520b2a68b370191c3cddd2a633a3c @@ -2532,18 +2544,22 @@ trackedFiles: id: a5042d4b1acf last_write_checksum: sha1:56e8fac669f6b9b800a7948007da33583057704a pristine_git_object: dc41283ec3aed61fa99dcb231a2e94e2360f49d5 + docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md: + id: 1d43f10ff2bb + last_write_checksum: sha1:04726ffe11bd07ebc4a4627922f79875c271c5e4 + pristine_git_object: a96e7be95629c543342818021b76c40631ede0a4 docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md: id: cc6519dd97d2 - last_write_checksum: sha1:9312b21b029bd94bef7a060d04ed43b7b53776c0 - pristine_git_object: 17b976d85075653b5a2edfc20a621e32fe5b8354 + last_write_checksum: sha1:1e15369a315de74c1f83af98349a4a5fb0bab1d9 + pristine_git_object: 0a727a02c9d7edcdd574ebd13f69accd18faac91 docs/models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md: id: 593f9f27264f last_write_checksum: sha1:4f099fa3f959ec58c7f10f16b55619b128361fd1 pristine_git_object: 5f705136bc73d08e64fdedf566297b6a4981890e docs/models/getv1homeaddresseshomeaddressuuidrequest.md: id: 28fc8b01d014 - last_write_checksum: sha1:29634ec1d0dcaa76de944e5ef8f26b727fa761b7 - pristine_git_object: 654451d4b21846e3139f3589f44d2b97d3a78079 + last_write_checksum: sha1:40fb3788a3f454730152f0e96b60f059eeb2a439 + pristine_git_object: fd27eac533d55b33504965e97faf7af740759c5f docs/models/getv1jobsjobidcompensationsheaderxgustoapiversion.md: id: d9db13bfa8f4 last_write_checksum: sha1:5c39befea4e7b5a172b8e4726586c7f657442d7d @@ -2566,8 +2582,8 @@ trackedFiles: pristine_git_object: 8bad057a2d6e91e56a4677fe5cfb9b1c6bfcb6c8 docs/models/getv1jobsjobidrequest.md: id: 53126311766c - last_write_checksum: sha1:0dd2479f3ec007e1d9df75786412327ef0e1e263 - pristine_git_object: 369b8fda37205b6282430c45b147f84853481731 + last_write_checksum: sha1:3b35c2009f45e6d01d1ef98a41646543a7d4d179 + pristine_git_object: 832f38ec929943871676fa775589c00db59c0e08 docs/models/getv1locationslocationidheaderxgustoapiversion.md: id: f574fabc1e73 last_write_checksum: sha1:5fc7e09c36ffba2944caed192a5ad67f8c80fcfc @@ -2582,40 +2598,40 @@ trackedFiles: pristine_git_object: 0499df6678f1f5f89380bd5a776771dc90be29a7 docs/models/getv1locationslocationuuidminimumwagesrequest.md: id: 240a22a8d2f4 - last_write_checksum: sha1:0c9b8f7e0e649398c6ed86767795597247c5512c - pristine_git_object: 12dc539732e03bc7918fa574b41ac160c270501e + last_write_checksum: sha1:75b1c331c82b052a36df5cccf5d029cd33c0e302 + pristine_git_object: 7b94700f8c5790de2b982cf2fe46065036bf57fc docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessheaderxgustoapiversion.md: id: ae9cb110a778 last_write_checksum: sha1:61993a0da9e96ef0b71288a42a29ce44dc682bff pristine_git_object: 32c7a0ad06c697e644a4c4a2d660ce6f0619f192 docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md: id: 09b3c0e1452e - last_write_checksum: sha1:818ce03f14bccd2b7a98111a505289ad33b3b3b9 - pristine_git_object: 1341dfdfb3e6fa95a335d3c604673b83c1229417 + last_write_checksum: sha1:cfa782e7590fcd520493109926a29bfc371d221e + pristine_git_object: bc3bbc431b93fcedad38197145c611c658a9bd37 docs/models/getv1partnermanagedcompaniescompanyuuidtermsofserviceheaderxgustoapiversion.md: id: b8416db6eb63 last_write_checksum: sha1:cf9a35c3e291911c292b1a504e0fc573148503a8 pristine_git_object: cffef8057a8a13d522755ad56a52cd931ad02e7e docs/models/getv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md: id: 8205c7b545fe - last_write_checksum: sha1:d7a81846a056cfeef64e145a70241ecad4ae0647 - pristine_git_object: ccbc28dc2a16b00b4b61ed965ca2c2d8886d2eef + last_write_checksum: sha1:2a9895f67ae6d227979864294772ccbdc79bbf5c + pristine_git_object: dbe06b69abac88fdb3789e9348c96aa408ef6adf docs/models/getv1paymentreceiptspayrollspayrolluuidheaderxgustoapiversion.md: id: f5cb5ff39287 last_write_checksum: sha1:386be5066b7af35a4576f2f89853e76284eb8b5e pristine_git_object: 8bf41e8b8fce3d7b7014c718fe590202fb7596c2 docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md: id: fb06cfe6df12 - last_write_checksum: sha1:418aaab87bb4f02caad587129a9ffce1e8d0a9a8 - pristine_git_object: 67b2b44151edbcf356cdcb3e1e550960ce3d6dfc + last_write_checksum: sha1:4b900f58a75d4603ccc73cf7be258ffae453e973 + pristine_git_object: 7af9e3c4c36b3b017dc1ae61038da1d00d179ff8 docs/models/getv1payrolldigestspayrolldigestuuidheaderxgustoapiversion.md: id: 8e271dac4e7e last_write_checksum: sha1:3ba4c225a9b27ef675a90050015d62dab8806b6c pristine_git_object: cd95e032b0ffbf55d0a202023e1335758b071fda docs/models/getv1payrolldigestspayrolldigestuuidrequest.md: id: 47697135af2f - last_write_checksum: sha1:402bd6b4599425630f377183bf48dafdc4388263 - pristine_git_object: cb1212f36706fe183f479a610ee700a3a9104d89 + last_write_checksum: sha1:94f7a693e7986e8da773ef1ad541493200aa6123 + pristine_git_object: 7e920c080122b919e4fe037c7951ee23ed871ab0 docs/models/getv1payrolldigestspayrolldigestuuidsecurity.md: id: 70d55741fb20 last_write_checksum: sha1:2771f1e6855e2a2a60b2edd32d67d7b7e496ec83 @@ -2634,8 +2650,8 @@ trackedFiles: pristine_git_object: d78013e1a69050f9392bbaef03fcb0e55457e35e docs/models/getv1peoplebatchespeoplebatchuuidrequest.md: id: 5c89c1b18268 - last_write_checksum: sha1:83dec0df21fc7717cad1d46a678de4ee3974ab6e - pristine_git_object: 8e49dea731b27dce897ccf3638fc9725eda5122e + last_write_checksum: sha1:f6dc671e5a2a74391de6878ef203128e625ade07 + pristine_git_object: 607ff3a4cb70de4b2bb421fd9c961e3c4ce2321f docs/models/getv1recurringreimbursementsheaderxgustoapiversion.md: id: b64d7c2c5185 last_write_checksum: sha1:f9f3ef2f83de235e20e87d1e8fbb6d5057f43b17 @@ -2734,8 +2750,8 @@ trackedFiles: pristine_git_object: 581be9a5cf79ecac431ba49a8acd4f85a2d5baee docs/models/getv1webhooksubscriptionuuidrequest.md: id: 8274fc2e1315 - last_write_checksum: sha1:d29bfd06b696660069f114b75b322b15692ce980 - pristine_git_object: 1668e8ab3d7e5f7cbf2a94cfe2e3e26adf59f73f + last_write_checksum: sha1:08fc1b42ffe44c430ec148bf9114c504dff5f2df + pristine_git_object: 227e3d31aa791520747f1d8ff00a50eeb561da3c docs/models/getv1webhooksubscriptionuuidsecurity.md: id: dd2624fa02af last_write_checksum: sha1:be3cfd94b2d1ce8ac5630aeff3d15fd1a02b8f7e @@ -2746,8 +2762,8 @@ trackedFiles: pristine_git_object: fd04b9a39aaf169f20c4d11cf011401125f3cc82 docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md: id: ac93c05cb2ff - last_write_checksum: sha1:fcbde7fcdeb8dec50aca9c9c281ffe492fda9e6f - pristine_git_object: 9f8ff4ca44f07ebc5a3ba9f96dafd5cc10a6891d + last_write_checksum: sha1:5dc7cb3e213a3c958cd756095f9d2190895799e0 + pristine_git_object: 4fabc561e29ad113db0b779aa9a4700f786e7c19 docs/models/getv1webhooksubscriptionverificationtokenuuidsecurity.md: id: aab731f5d8e5 last_write_checksum: sha1:f43b34588877321b110362087021516fe53bb302 @@ -2758,8 +2774,8 @@ trackedFiles: pristine_git_object: 4da7f34ff34925c5e645ff375bc976ca552a26f5 docs/models/getv1workaddressesworkaddressuuidrequest.md: id: b0234750f955 - last_write_checksum: sha1:94637b19f0318e362d75b125a062b39ccf5f3cb5 - pristine_git_object: 7888f2035b06c2c11d4a8b4a22901a6c51b43600 + last_write_checksum: sha1:98c4c6a589490c65677dd9a99f94274d8a403371 + pristine_git_object: 93b1aabd846b34cbb59ddff3531655330210c93d docs/models/getversionemployeestimeoffactivitiesheaderxgustoapiversion.md: id: 98b80660e466 last_write_checksum: sha1:fe56dd1995698b11ccf6d73fa31dc5632b199c63 @@ -2774,8 +2790,8 @@ trackedFiles: pristine_git_object: 313f9212fa14c858e21930fcbbba3bf4f54021db docs/models/getwireinrequestswireinrequestuuidrequest.md: id: 35b9a706020f - last_write_checksum: sha1:944382d4ad83ebc873b90dbb0378afd1ee16ce92 - pristine_git_object: 38bb1575bcb3e1e7d212a1a76365dc8de32c21de + last_write_checksum: sha1:2709ae4fdbc99e86f5142c13ec6fedebad8db5c1 + pristine_git_object: 9d253a5380100471cc6339268a48021ab6adeb7b docs/models/groupings.md: id: fa84e4438763 last_write_checksum: sha1:ce39df90f0adb942dd6bcaed27faca633ccd7ba7 @@ -3190,8 +3206,8 @@ trackedFiles: pristine_git_object: cb61b9857d01e3df1a86a16d5ea746088123d51e docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md: id: 5655ae816c21 - last_write_checksum: sha1:e18d589571847ba49262ec84dd84c76bda26bd7e - pristine_git_object: 193bd9722272df567651b118b1162764f4b39f43 + last_write_checksum: sha1:207c8597770591405b7343ae0782517ec613f8c9 + pristine_git_object: 077b3cd61ba19881e794a3cfe80141afd943ffe3 docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequestbody.md: id: c798c71309a3 last_write_checksum: sha1:a92f86ae8bf734e53bc511aec06a92083645ef7a @@ -3214,8 +3230,8 @@ trackedFiles: pristine_git_object: e2f4e74b329caa5c668e0a3ce16f2b653ee71d93 docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md: id: "327443042138" - last_write_checksum: sha1:050ebe857e6ac08a5078e0eb8d676ef1941db704 - pristine_git_object: 8cb885f49efcbb75796c96ba0df1ca76c2528e1e + last_write_checksum: sha1:004f0d531fe3b5c0f6a7de23f881b66491db9fd6 + pristine_git_object: 72660c44cddd4400216ed55c9d733113ec9de39f docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequestbody.md: id: ae601a808214 last_write_checksum: sha1:a67545e83e31b5a2be355973e19ff885a30ad92d @@ -3226,8 +3242,8 @@ trackedFiles: pristine_git_object: 9fc09784e5fd5833a28f391e449f73f76badc39a docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md: id: 15150bb2f878 - last_write_checksum: sha1:7170ed8bd961f0e47a4fb299c4bbe30a0c7e3399 - pristine_git_object: f1af0ad52c2cd7f6bc4ff09a71c9ac02e4b7064f + last_write_checksum: sha1:6449cb355cc3434044cb4b70b8ae1d0e8cb70be8 + pristine_git_object: 1571ce7da4333b1e7e82532016a35b0989452d0d docs/models/pathparamdocumenttype.md: id: 5485b6b78b72 last_write_checksum: sha1:89a80f1546cd6060f3f3fa19d9ec9314c5e7cc5a @@ -3396,6 +3412,10 @@ trackedFiles: id: 04aaa5a44e0e last_write_checksum: sha1:d4e1410f06d042a62062469707d77da5b40fcc87 pristine_git_object: db37b4c0c4ba36742ed1c790154e4b389090760e + docs/models/payrolldigestresultsblockers.md: + id: b701890ffed6 + last_write_checksum: sha1:1f6a23f3da80b406628f59001850ee5731db6dbb + pristine_git_object: ae2ae4c00121131023d8df2aa08c72867a9d92e6 docs/models/payrolldigestresultscategory.md: id: 49cebeff01ae last_write_checksum: sha1:16cfc14023cc1503dc957a616d1492865528107f @@ -3422,8 +3442,8 @@ trackedFiles: pristine_git_object: f38b8cee37a880a98066eaefe046e835f980cf85 docs/models/payrolldigestresultsresults.md: id: 5b709a666fde - last_write_checksum: sha1:6fdba7c87e8e2271054a2aabc17cc4cd62d16508 - pristine_git_object: 096472e27e4c935cfca617b1fa28d6e7cd94800c + last_write_checksum: sha1:1599b3ecd39bf62a82c7abe43d29c7ac07d41bb2 + pristine_git_object: 304349eb49cd652aab36a444592f41db185a948b docs/models/payrolldigestresultsresultsstatus.md: id: a26fdbc348bf last_write_checksum: sha1:372eb9fed2e5a94fd4073e15e948d4185a7b36c7 @@ -3866,8 +3886,8 @@ trackedFiles: pristine_git_object: c2f55016fabe4be10eaf70415ff405b0873e30cd docs/models/postdepartmentsrequest.md: id: 4018caf28870 - last_write_checksum: sha1:f28d87850903ccc7664fd4d6eda0ff1786af57ac - pristine_git_object: b200ce253c56ce9a058b16dc6ccb4027bfc4f89a + last_write_checksum: sha1:3c54a11c97a07638c19ac71d045d37de871c1d3b + pristine_git_object: 6cabc424cf23c96bfd274930bac98df1a8a021e3 docs/models/postemployeeytdbenefitamountsfromdifferentcompanyheaderxgustoapiversion.md: id: 4ba357eff9d0 last_write_checksum: sha1:16015201f779e4acfa2466dfd282d24cd8104c8a @@ -3882,16 +3902,16 @@ trackedFiles: pristine_git_object: d100a1ec930cd126c5c36238a89b1dea0b59de22 docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md: id: 485f8a21c3de - last_write_checksum: sha1:b2d2796734c6dcd3a24a7e80b421789a7b28d7da - pristine_git_object: 1ce9754f952a2772b39d75b185a847acbb4269be + last_write_checksum: sha1:deeae64fca4dca57fe3fbfa534d4ffcadbe585dd + pristine_git_object: a07571d74b4bbd068453808636dd7a5b3ab3aae3 docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofserviceheaderxgustoapiversion.md: id: 42dca11a3521 last_write_checksum: sha1:73626384aa93124b1261f3089bf958ab70ee854d pristine_git_object: 699f590487c90e3bb27f503722bd42f60d22dc2c docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md: id: 56db215d0267 - last_write_checksum: sha1:482d2e8328e2afde3483e96ccaa58072dd42a83e - pristine_git_object: 1232cfaa380c9aff94c098defceeff42d2dfb69b + last_write_checksum: sha1:bfbc4a317da127bd092320d77151caebf8370880 + pristine_git_object: e28026c9c22c2aa6b3331a9970232bceebab68c6 docs/models/postpayrollsgrossuppayrolluuidheaderxgustoapiversion.md: id: 278ee30904df last_write_checksum: sha1:961fac56590d893fed5e1f3abd069e34c0302953 @@ -4094,8 +4114,8 @@ trackedFiles: pristine_git_object: 593b89028dbf8626daff3c7db8f18ac2b1b85e9b docs/models/postv1companiescompanyidpeoplebatchesrequest.md: id: f2fb41eb19f6 - last_write_checksum: sha1:bb11e09d3430c52905d820c3efea2e4102e60342 - pristine_git_object: a1c4185c13b93336248b2db49c5d301376624aee + last_write_checksum: sha1:c8fc803d446572e9a80842654e1922e51f99a88f + pristine_git_object: 08638596f9cf1f22b4ffa85607f108b967f81666 docs/models/postv1companiescompanyidpeoplebatchesrequestbody.md: id: 20d2fcb3c9bc last_write_checksum: sha1:3e93f730bf129fd8d7e4a14133faae245f31cee4 @@ -4146,8 +4166,8 @@ trackedFiles: pristine_git_object: bb3762f18f610924f3a6aeef5d69bf0e01622690 docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md: id: 150dbf419978 - last_write_checksum: sha1:8ecb17deb27a278a95d849d682df22f3131afe90 - pristine_git_object: 19db6a282c389b14360b7e6a9d1927c5a9518ac5 + last_write_checksum: sha1:72382bad96868bb51f16c805b5e45b1d4cee7ae1 + pristine_git_object: 94993834e6a15ef8e30672638c06a483ae1bf41d docs/models/postv1companiescompanyuuidtimeoffadminapprovedrequestsheaderxgustoapiversion.md: id: 654d1fb86725 last_write_checksum: sha1:48e4067e03fa26d1b93ee1446f32cc74e3d25e38 @@ -4206,8 +4226,8 @@ trackedFiles: pristine_git_object: c199b3e3ebce66928bc25d4ca01bf506dab21c39 docs/models/postv1companysignatoriesrequest.md: id: 838b774566d9 - last_write_checksum: sha1:917496cf038faeffb67926088dc8f8eec4011f5e - pristine_git_object: 4d6c880b2231068a00beae24c032624a664b1136 + last_write_checksum: sha1:495a7028f2158c0c834b45b667843355f57b6766 + pristine_git_object: 901d7fb46be293c4ff4bb0d70970accc020fbc9e docs/models/postv1compensationscompensationidheaderxgustoapiversion.md: id: 24f39e1325e3 last_write_checksum: sha1:f809064c064251019430f55ddddc34dce0e5c46c @@ -4230,8 +4250,8 @@ trackedFiles: pristine_git_object: 30dec98ead2685da3bb983abe07fcfe988189053 docs/models/postv1contractorscontractoruuidrehirerequest.md: id: f8ee64160637 - last_write_checksum: sha1:05d0649b2d52fbda4a73931a7afdfdcfaf99f288 - pristine_git_object: f56bb83b0d16806fc86726a1689cd6cbeedf6aea + last_write_checksum: sha1:2760efd4811a330d4d0b8e6dc527f5a428428492 + pristine_git_object: b6c1f130d68231fd31a1c3da58ca82e74b977009 docs/models/postv1contractorscontractoruuidrehirerequestbody.md: id: e2085f1497a6 last_write_checksum: sha1:6d14d0614dc68b4b28c6db4b7647e84f49e88ed2 @@ -4242,8 +4262,8 @@ trackedFiles: pristine_git_object: d9df0d739994ce25d9bd85412ea5f8d1ab1a659b docs/models/postv1contractorscontractoruuidterminationrequest.md: id: 80c01264adc0 - last_write_checksum: sha1:dcf00f76822be3a813ee436cdcc41a6268e881d9 - pristine_git_object: 48b504dce5855c5083c9037cbfdd5e4053d19c45 + last_write_checksum: sha1:e709c5f7936a4486d26ae3dbaf0550a216fc2873 + pristine_git_object: 8d1f8fa6f0bbc396c5786dcb40f0138617afa140 docs/models/postv1contractorscontractoruuidterminationrequestbody.md: id: 53169b7f99cc last_write_checksum: sha1:80d7fd83fe78ee37f2f23012a263eb39994c429d @@ -4278,8 +4298,8 @@ trackedFiles: pristine_git_object: b34fc00e0e8a3465a6c3d960af77947f31069d95 docs/models/postv1employeesemployeeidhomeaddressesrequest.md: id: 09f45e83475a - last_write_checksum: sha1:ad70462a6f796c9922d221d2f01cd5258a10c544 - pristine_git_object: 1835d19354e88d505359d2e549dd8bcb81f93b48 + last_write_checksum: sha1:f55cb8d3d851ea71c2545e6129465f6aa1a52360 + pristine_git_object: 482a81820ec43e18419f9c521151cf301fbb8026 docs/models/postv1employeesemployeeidhomeaddressesrequestbody.md: id: 796e03da5af8 last_write_checksum: sha1:29bce5bdac51eabf4bc3b00ad09c5bf85edaf4e3 @@ -4290,8 +4310,8 @@ trackedFiles: pristine_git_object: 395efb5c078b75e52b53cb53bd898f1ffb38e8fe docs/models/postv1employeesemployeeidjobsrequest.md: id: c5b63fd62577 - last_write_checksum: sha1:8cdb29e8d04a83608a6804f38dee88cf5ce91e3e - pristine_git_object: 7efa19ce5327e0cfeb40cf99facfd40c5aea496d + last_write_checksum: sha1:006faf8c005a1607a92663aec2344dd7a8f1027d + pristine_git_object: 546dfcaea82dfd9fa87d9ce8f222d5f6d42bbf1b docs/models/postv1employeesemployeeidrecurringreimbursementsheaderxgustoapiversion.md: id: 3fd118e030be last_write_checksum: sha1:d8c7cdc327bbb3a7cee54d0541819a764524a3a6 @@ -4350,8 +4370,8 @@ trackedFiles: pristine_git_object: 32602d152551611075cd8173a3d400b10d22264d docs/models/postv1employeesemployeeidworkaddressesrequest.md: id: 9a13857b1e01 - last_write_checksum: sha1:cec3033bebbb943408a4967d9b0c111c476949aa - pristine_git_object: 2e4dca5173df25c6be30c52243e890ec38a11cb0 + last_write_checksum: sha1:261649414672abd2850292e3ed04f48b428b22af + pristine_git_object: 077c3a6fcfe47758319c16f17a25a43951b9101c docs/models/postv1employeesemployeeidworkaddressesrequestbody.md: id: 3250db5a72e5 last_write_checksum: sha1:84cd5d039ae43dba89c1ce66d8bc7bbfc220248c @@ -4362,8 +4382,8 @@ trackedFiles: pristine_git_object: 1b76fca0870fc6bb356eaa8b540b46f4dd7b1b36 docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md: id: a2a27c0aec9e - last_write_checksum: sha1:bda56a563fcd7eb89315d7ed8b3ac064cd4f0f2d - pristine_git_object: 04d29ebeb04bb9c38f44fb84e806f1c1a2ad6770 + last_write_checksum: sha1:ac9f428457448695b45efc7be4884602c212f1ab + pristine_git_object: 3f15857a3d547f777497e7e0772050e96c2afa93 docs/models/postv1employeesheaderxgustoapiversion.md: id: 63eba27d02c1 last_write_checksum: sha1:67e0a450d0e09555ec583eae33af1d994cebd167 @@ -4398,8 +4418,8 @@ trackedFiles: pristine_git_object: a0291810976b305f8df27d7bfa6d7fa4268beb7b docs/models/postv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md: id: 9c066c006f29 - last_write_checksum: sha1:ecb5b6446d07c2f3d63487a9f42fcc9e1fd024f9 - pristine_git_object: 35edc9df08b2aaa91496f77923e6216d2c104ecd + last_write_checksum: sha1:e6eb6ef45c4b3f68a587d8ddaf834259af02e123 + pristine_git_object: 1935049486fc67a03477d77607104878d1acb34f docs/models/postv1partnermanagedcompaniesheaderxgustoapiversion.md: id: 5a07d292dd45 last_write_checksum: sha1:a60d9e8008daf858022a45d03299e43d1299c56c @@ -4518,8 +4538,8 @@ trackedFiles: pristine_git_object: 553017f5abc350f1359f3b0aff2993dee19d191b docs/models/postv1webhooksubscriptionsubscriptiontypes.md: id: 9526e8313c09 - last_write_checksum: sha1:aec12488580c014070362d84f6892cb03467fcdf - pristine_git_object: 439d74f8ce6c81adbd824733077b93291349af45 + last_write_checksum: sha1:e8e736793cb3756d958c49a922a6162aa0292afa + pristine_git_object: edd477690f5ef07e8ea7f5dbc7006481398d5395 docs/models/presidentsday.md: id: 14d8f2080179 last_write_checksum: sha1:e1570908bc0df73b977cd8e0551396e01ed344f6 @@ -4550,8 +4570,8 @@ trackedFiles: pristine_git_object: 1779a7707cdf28506caafb8964e229707cd1f6da docs/models/putaddpeopletodepartmentrequest.md: id: e3c4f81cf55d - last_write_checksum: sha1:bedb2ed8dc682c7825fe97b283b993533c158504 - pristine_git_object: 9be03f3ffe5cb9aef6b62c8877dec4f727ee44d7 + last_write_checksum: sha1:b83b73dbd94e3c7b138751e709e2635271250b7a + pristine_git_object: 00b4b74430c03e5d3f26bd51580ed9d0a44a7877 docs/models/putapiv1companiescompanyidpayrollspayrollidcancelheaderxgustoapiversion.md: id: e43d61f6c184 last_write_checksum: sha1:c9bb1db5f69249e0d3cb793f38a4f7619a64f3ec @@ -4566,16 +4586,16 @@ trackedFiles: pristine_git_object: 4669e71deb7184124ef6d03116abf4d1f0003f4d docs/models/putdepartmentsrequest.md: id: 244955f78290 - last_write_checksum: sha1:77acf43119df1a052619c9102b0a921cec530f71 - pristine_git_object: fff7a2017e729f5c560411ef2f44fcd4afbd67fa + last_write_checksum: sha1:4abaf16491afb076ec00c3c648de77fbcfe7b5a1 + pristine_git_object: edd8b60f8f7d3341b8c036b3c01b1a3dc0b6e39a docs/models/putremovepeoplefromdepartmentheaderxgustoapiversion.md: id: c89343ad8eed last_write_checksum: sha1:0a2074f3cbffc4ad234d995856b9fb43beeef7ed pristine_git_object: e34319b6e1b06b0b9a096859b68948922b92b0fc docs/models/putremovepeoplefromdepartmentrequest.md: id: 2ad30c52510e - last_write_checksum: sha1:77eb712d341f1b92a0028fbd3142d2fcb9ea54b2 - pristine_git_object: 10465483e9e05c0fd0c535409f1b41ce512d56e1 + last_write_checksum: sha1:9e08b16d1675e9db171d73c0410686b5b05f8e8e + pristine_git_object: b46ad9fdeff5cb88bbd1872df170e4a38c0ae1b7 docs/models/putv1companiescompanyidbankaccountsverifyheaderxgustoapiversion.md: id: c46562278c19 last_write_checksum: sha1:096512b169636ed6bfdbb2a35f9b3ce6f215a1c3 @@ -4602,8 +4622,8 @@ trackedFiles: pristine_git_object: 1ca9c75c83d41ccc43de36167d2536ed7ecdb530 docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md: id: 91b4551acf72 - last_write_checksum: sha1:8a6ae65d884262792e52ca6033197288170ab29c - pristine_git_object: 532df2b330f39781385813922e0d7b4de9be5eb3 + last_write_checksum: sha1:8733e4382266b4796727564bdc474b81397692aa + pristine_git_object: 829b6024e2ca8ec7b2f9174dbebd8483cf152743 docs/models/putv1companiescompanyidpayrollsheaderxgustoapiversion.md: id: 438c8108696c last_write_checksum: sha1:b4cda5af663afac2f68ce0644b0ca18f172b0745 @@ -4750,16 +4770,16 @@ trackedFiles: pristine_git_object: e4cd48067136a5ab72e6a13822d03f7908ee6330 docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md: id: edccb4bb4fc5 - last_write_checksum: sha1:24a0f58a41846e6181116754f09f75a9c4cc3c35 - pristine_git_object: df8383e4e627b5db28fc29bcbddf2dce64166b57 + last_write_checksum: sha1:f7a7be4a047e6a37e9746029837d3df396fc3f72 + pristine_git_object: 082c8fc490de859a0616372a5aa9bc9bbaebf2cc docs/models/putv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md: id: bbf222d46b83 last_write_checksum: sha1:0e432f32b05017951a3b92141a35fd80daa58eb4 pristine_git_object: 3d9ad5be89c853b4ad87c75173dc8a4508618de9 docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md: id: 05831b0febf3 - last_write_checksum: sha1:f7c60603e50a59d07e75d7d4feda078d81a83d2e - pristine_git_object: d6e69fd595d80f1e82ecf21dc57307e447a7b153 + last_write_checksum: sha1:4aee82db4a899ac451d3a655318e898ea28f5221 + pristine_git_object: ba7d60aebb33964cd604d744214cfaf824b498fd docs/models/putv1companiescompanyuuidtaxrequirementsstaterequestbody.md: id: d43bc7631ef8 last_write_checksum: sha1:3f2f75fb5d677bda1cd860665ed01ff0b8d850e1 @@ -4770,8 +4790,8 @@ trackedFiles: pristine_git_object: 030430ded01ae5bd799deb10f732ba26ae4b444a docs/models/putv1companiesrequest.md: id: 7e73b41a4deb - last_write_checksum: sha1:5339bffb0a1731f925b620ab26d4ff8f8bb3d0bf - pristine_git_object: dbbbdf00130e9a885271bb9052fc91550736fe0b + last_write_checksum: sha1:5bc9e1ad8b9b91407427a591c9c3cb5ec76ba621 + pristine_git_object: c672f1e891d8b972952443d31cb19065a96b60ed docs/models/putv1companiesrequestbody.md: id: 1bfadbb0d32d last_write_checksum: sha1:4222ea2f130a0246f6942556ebe961abeb4fec04 @@ -4818,8 +4838,8 @@ trackedFiles: pristine_git_object: 3a0d87e288237b57770ea215adfde0cc4b6f041c docs/models/putv1companyindustryrequest.md: id: c24621ef38b5 - last_write_checksum: sha1:2647d91e3d1cad893dd43f13ef618e6b66178bc1 - pristine_git_object: e3a90dbbbc9d5e2bc925833b11a75bc79c22200f + last_write_checksum: sha1:33f29acae72b7266e6d7de77971cfeb7b4ba6d25 + pristine_git_object: d17c058b656592665469786a5e7c7c7132dd4a2a docs/models/putv1companypaymentconfigsheaderxgustoapiversion.md: id: d5de932c01ff last_write_checksum: sha1:09b4e9d6f98b6c5e4c2a5a389659003167920fb5 @@ -4858,8 +4878,8 @@ trackedFiles: pristine_git_object: 22db271e1e3573185fd9f102b64e650d31f52fe6 docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md: id: fe07bd6a949f - last_write_checksum: sha1:7b0819d5918a50a41ada26a754025d3bfdcd26c7 - pristine_git_object: 747183a5a1270babe18f5f18143203f26763b9d8 + last_write_checksum: sha1:269d576ca619ed62538d0a0e983d0905581047be + pristine_git_object: 209812c48884259fe24e9819480b8115b37c0b51 docs/models/putv1contractorscontractoridpaymentmethodheaderxgustoapiversion.md: id: 20afaba6ce4f last_write_checksum: sha1:1bc6dd32d40c9f708da3549b27696c244896e5fe @@ -5110,8 +5130,8 @@ trackedFiles: pristine_git_object: cf5e85a5c08d1e2252b4eed7b5b09ec9222d6060 docs/models/putv1jobsjobidrequest.md: id: bc6f4552a25c - last_write_checksum: sha1:736928c56db63fdf53901c6afc3852b711590801 - pristine_git_object: efab47a766301993e8a976020874fcf251bd0566 + last_write_checksum: sha1:0d104bf879b2fe4595a81eab99f407cc9614dfaa + pristine_git_object: 7c45054b2cc85b26f1d5c0831452c3795a51af4f docs/models/putv1locationslocationidheaderxgustoapiversion.md: id: 0519d477376e last_write_checksum: sha1:8f0213b7eda023d7b42b3c34d5a661bc16a15a45 @@ -5130,16 +5150,16 @@ trackedFiles: pristine_git_object: 6f5e78768bc516aee094929bd45e64f960a9faa9 docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md: id: 3a346c4da122 - last_write_checksum: sha1:7a083c9fc1f278b1e0401087066f49e659c616a9 - pristine_git_object: d14af88d990d1dbaecd0eb77111e11e1229f60b0 + last_write_checksum: sha1:8da79c8d3f13cbb4dec22fd9e8a7b34cac57c398 + pristine_git_object: f78a0856761a05dfd1a964cc22265960d4e65b36 docs/models/putv1partnermanagedcompaniescompanyuuidtermsofserviceheaderxgustoapiversion.md: id: 4f90daa57592 last_write_checksum: sha1:92e10e9dabbdeaaffcdf7eaf054d91aaaaba8eaf pristine_git_object: 757baa88c1adec94d83b6fa58923230253f2faee docs/models/putv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md: id: f85d0727da52 - last_write_checksum: sha1:72d4c4b2125876820384390501558aeca46beb1a - pristine_git_object: ca95c50c04ae5b65abf993c7334087061160657b + last_write_checksum: sha1:be051ac05405e3ae5eeedc90d67335832351d9d2 + pristine_git_object: 4d475a552d17ff2d31b4e10bef769fa31c8e8b45 docs/models/putv1recurringreimbursementsheaderxgustoapiversion.md: id: 7a81935d67a3 last_write_checksum: sha1:c17652f4adc556695320c5b901fa499dc7896f0a @@ -5306,8 +5326,8 @@ trackedFiles: pristine_git_object: aa357aa175b2d766f195e7dc2379c47f22ffd8a8 docs/models/putv1verifywebhooksubscriptionuuidrequest.md: id: b9876c77983b - last_write_checksum: sha1:d6c0d653f5c3dfce4db365edb96d0b15d29293e9 - pristine_git_object: f58c26ec5b002e2e595cb729e9f1429f1d968de3 + last_write_checksum: sha1:00db70d0e1e5ecd793976c896c6c60c5b105aa9d + pristine_git_object: 0a19b2e649143a9400a514426ed1c144bc513d82 docs/models/putv1verifywebhooksubscriptionuuidrequestbody.md: id: fc58d6bba1f7 last_write_checksum: sha1:8b38ba52de1f29a05acf6374cfb095fb353225c8 @@ -5322,8 +5342,8 @@ trackedFiles: pristine_git_object: e60c63dc8a89606d1aff3baf1dfd479462260f65 docs/models/putv1webhooksubscriptionuuidrequest.md: id: 378e848842b1 - last_write_checksum: sha1:452b844acaf5d13bde4ee5c5298458f3a7a2223c - pristine_git_object: 5c099288b455845057ae7384ee1dad50c410bb47 + last_write_checksum: sha1:2713ba47a095044bc6a6736eaf3ea8696edb4e8e + pristine_git_object: 56c0a7ed9b1fffd04454340b917326fa21d1bc80 docs/models/putv1webhooksubscriptionuuidrequestbody.md: id: 7ea35f6c5cb1 last_write_checksum: sha1:bd9069eecfe38f6de3c75940e12607571330682b @@ -5334,16 +5354,16 @@ trackedFiles: pristine_git_object: 6a5e764a3f1c40d28c57e8c9cf3c0804a57ad396 docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md: id: 5fdaf94a9bc6 - last_write_checksum: sha1:cbd2b941ec3cd4f128bcbd1a5ae7726e9d98f466 - pristine_git_object: 1f553621ea36e80538c79c7dda4f34bc9270ff11 + last_write_checksum: sha1:4a3f729a8f876528089831ad873b404c63aa8dd1 + pristine_git_object: 871dc10c351d8624f603d2dca8fa582d8209613f docs/models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md: id: 479d77c5e139 last_write_checksum: sha1:400fa18ba3dc4312efb90b24266545e291bb152c pristine_git_object: 4e73fad365eb67ddbbce6a1ffddb30c562e7bc71 docs/models/putv1workaddressesworkaddressuuidrequest.md: id: 44f18d9cdba0 - last_write_checksum: sha1:9528263f59ec4a379f6406bfde5e64a8ad886706 - pristine_git_object: 68a6e593722d93bfca3027c20bdecda66048fd20 + last_write_checksum: sha1:c2cb2dfcc16a0985131a4c318464f1fc9da95816 + pristine_git_object: 3daa2c1176409f2ae193d0f82ea1900f69c8e0fe docs/models/putv1workaddressesworkaddressuuidrequestbody.md: id: 1e0957075fe6 last_write_checksum: sha1:e1ff25a475b2fabf4bb078ef7aa1e4908aff9f96 @@ -5354,8 +5374,8 @@ trackedFiles: pristine_git_object: 2664fded2c45b313524320f0fe5ca80151a789f0 docs/models/putwireinrequestswireinrequestuuidrequest.md: id: 976cc5ef0e58 - last_write_checksum: sha1:ac03959034ed788ad4ea8ab07d57b99d8db01bf8 - pristine_git_object: ae44c9cc73be785c28dfaa0d72d4b31d639646e4 + last_write_checksum: sha1:2daf5cf56fdf5526ac180088dfcf3f1be7961a28 + pristine_git_object: ab379b8c188a9a4096d0f6fb4369fe0e37e70531 docs/models/queryparamfrequency.md: id: fdd320708978 last_write_checksum: sha1:783d19ae106318995786a8e20ad16a68684d685e @@ -5618,8 +5638,8 @@ trackedFiles: pristine_git_object: c8fb52ffade4beac6bc53419fc65642af7030e37 docs/models/subscriptiontypes.md: id: deab3aa152dd - last_write_checksum: sha1:3f1bdf66f596ad3052a214fe5631292cf66fd712 - pristine_git_object: ed910d5b7e66e6b0a3821e38b8c9e928d41fa11e + last_write_checksum: sha1:8bdd4a82758c3d5fe88d2b08a60f68b1a3e3422c + pristine_git_object: f57d5a44affeb96a5109c203fbb412be9d9f0ddb docs/models/supportedbenefit.md: id: 10121cd69414 last_write_checksum: sha1:066303e866733f6462d62c4efb8ef5ed2488ab62 @@ -5816,10 +5836,6 @@ trackedFiles: id: 444a7043f8e1 last_write_checksum: sha1:5dd5dec40a4b5a9cf78f7832644fb8ecd7504f8b pristine_git_object: 5c4ac128d64face057dca1732fc38396ac59810a - docs/models/versionheader.md: - id: c8fafc842b14 - last_write_checksum: sha1:86923c8ed2a5ebcd540aae422d30e37e28523cbd - pristine_git_object: b1e84e2162f3e2533bd7db148a4de52c74787556 docs/models/veteransday.md: id: a138b184d926 last_write_checksum: sha1:ff905fa71922570a9e793976117d5824c50d94bd @@ -5894,8 +5910,8 @@ trackedFiles: pristine_git_object: 0c02d4fb87a25e677f96e0e47d0f09faf9d34cad docs/sdks/companies/README.md: id: 67e8a49afa67 - last_write_checksum: sha1:dbb8a3c89476e9a95b003ead1ff10994e8aaded4 - pristine_git_object: 4f9412e493f67bb5d96538c9e728cbafb2f55a8a + last_write_checksum: sha1:04681961a7dacb982b550180a29adb6ffddab9e0 + pristine_git_object: 4d96aee61e77194b221f46a8f11b5d843d581c95 docs/sdks/companyattachments/README.md: id: 105a968c3402 last_write_checksum: sha1:361b9b6e0b615ae84c9d569d66c99ba38e09eeaa @@ -5922,8 +5938,8 @@ trackedFiles: pristine_git_object: 380b533295378c327d91efd2ef4df8939303fc67 docs/sdks/contractorpaymentgroups/README.md: id: 827b7ed15692 - last_write_checksum: sha1:2e00fe4071f0c20f3c66fac94fe69e25d9f40392 - pristine_git_object: ec0c34a232417cf4d4a1e6995df111abaed087ea + last_write_checksum: sha1:fffeebb85a1c5ca5b3459e9762f7e5d2e18552d3 + pristine_git_object: 32c3d90783bffedb27d4c583c1e022e6628863ce docs/sdks/contractorpaymentmethods/README.md: id: 8e60120cdd11 last_write_checksum: sha1:fd010efd3afa80fe735223c1fa4c1dd6ba054886 @@ -5938,8 +5954,8 @@ trackedFiles: pristine_git_object: 69059c928c89127d564ebcd9e6a87100d394626b docs/sdks/contractors/README.md: id: e5de017cf9e6 - last_write_checksum: sha1:1e7eaee110fd25ab24e650d743a26962d638ac0b - pristine_git_object: d8248228a9e618f615b777262b8728e6925905c5 + last_write_checksum: sha1:c0f2ece164d126ce07ceb16b31867fb38fd7a416 + pristine_git_object: 31a03e3900125e332d19b6b276bc63811ec8c769 docs/sdks/departments/README.md: id: 12342c54f2cb last_write_checksum: sha1:2ed753cfe7d05e336f4574406b79367b8b083823 @@ -5974,8 +5990,8 @@ trackedFiles: pristine_git_object: 5d6c2e47604dda89219459148c8ee52158d42c20 docs/sdks/employees/README.md: id: 3adbd327ce9d - last_write_checksum: sha1:84b3598ab853f216a9605ecb4e580f7eb44c13a9 - pristine_git_object: 484600d979606ec1b38c8ad92ce1e74a22a91229 + last_write_checksum: sha1:486a58af9b5287dd2f2f68999a75ca78e98f2ff5 + pristine_git_object: bbb816c3f7f3243ccd44d281bf8056ee31b06a1a docs/sdks/employeetaxsetup/README.md: id: 65804e377e2e last_write_checksum: sha1:4ef76b5bcd85bfbf7b00d6532a4ad1cd33d1754c @@ -6002,8 +6018,8 @@ trackedFiles: pristine_git_object: 7e2fb07e76f6a5ee417dac4c0c83230c166b515b docs/sdks/generateddocuments/README.md: id: 5072871eb0eb - last_write_checksum: sha1:66864db16a69372bceb9f95bad643e84774ac044 - pristine_git_object: e3127e3850e6de9a89908527f4cc943ad957e4c2 + last_write_checksum: sha1:c4ac244af263c3e150dab8e4a08a58e4683b5049 + pristine_git_object: 84775c9a4ff081ecd096a3956341ad7d3e13480a docs/sdks/historicalemployees/README.md: id: 38adbb7622ee last_write_checksum: sha1:502eed81d9a7cfaefe0625ca080e9491e7674a7c @@ -6034,16 +6050,16 @@ trackedFiles: pristine_git_object: 87d266d211bf5b0e3f7eb239f6f6d7d30dced9c7 docs/sdks/jobsandcompensations/README.md: id: f262ef7b4c37 - last_write_checksum: sha1:c0d9d766b4f0ea2aabc179b980c45a16545b970a - pristine_git_object: 7a2dd0f6046a277739121271fe5e41fbc983a655 + last_write_checksum: sha1:c48bc1cfabac9c26a2117d9abb13c38d60527ff0 + pristine_git_object: 20229962ce2a2c2c37e0e182e04fa3703e2ffe5a docs/sdks/locations/README.md: id: 18f4bc68d8e9 last_write_checksum: sha1:f4a29039a59990488db1c64df21286fe40cf8c75 pristine_git_object: 85447e9851b2d9c836f6ecde1321967eec9850fb docs/sdks/notifications/README.md: id: 271bac956045 - last_write_checksum: sha1:d0c8c51d7b6c594be8d17784ca20b29d7e5b352e - pristine_git_object: ced672afb5d6d158465e67aa3d55aa3ec7ef8076 + last_write_checksum: sha1:6fa942a91a168597b2999a0ce09d6494382c36f2 + pristine_git_object: d6c8cc5e0b2d976a0ee796a568f2626951e72990 docs/sdks/paymentconfigssdk/README.md: id: 11a4cb7956fe last_write_checksum: sha1:f641e4a0908a433fb2ab61b25e577bc3cf9be24d @@ -6054,12 +6070,12 @@ trackedFiles: pristine_git_object: 863c80a57c1c4ce7a86c954b640f5cf80ce8cd58 docs/sdks/payrolls/README.md: id: f6fb115a2746 - last_write_checksum: sha1:503804e301aee4f0a06939815b70d461da44b32e - pristine_git_object: daefbca03a14da413d780fe27f3c35de3ae59a60 + last_write_checksum: sha1:2d9ab869d5276a877a3cee401be6f974f3f43ca7 + pristine_git_object: 4bfcade77f4c0a841ebbf8cf279db613731d417f docs/sdks/payschedules/README.md: id: c0aa724eca5e - last_write_checksum: sha1:d33906c4c1b2d9b6a994e110956a6bb9aaa61f66 - pristine_git_object: a5f529f8937d07f17aa24e26ece07fd9680af49c + last_write_checksum: sha1:10df54b21ada1db0eb1a8f46b7bc9fbc6f223f96 + pristine_git_object: 8a6e7f385d55a2eeb8c5c8523116a8bae2bd3605 docs/sdks/peoplebatches/README.md: id: 9ac77915c062 last_write_checksum: sha1:b9476d78c93e94934f19c1fcfbad5b61b1b8101a @@ -6118,8 +6134,8 @@ trackedFiles: pristine_git_object: 61fc62731ce866a65cf6a62b32c1c4612147a41d pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:8e9deab3abd6302776f9157baf2fef49e1bb4b22 - pristine_git_object: 25e4fdc3638aa11f085e255821d1b359c1a68014 + last_write_checksum: sha1:005945ab3a16ae5cd9962cd026e758a7e4dd14b6 + pristine_git_object: 116a1ede5c966fa1516d777ce83dec62934a9747 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:2bb1b963c948d7d337244bfb9bcc583dc55b08b6 @@ -6146,8 +6162,8 @@ trackedFiles: pristine_git_object: 85f418244971db7fb1128a79fd70f80a3100a229 src/gusto_embedded_v_2026_06_15/_version.py: id: 9db54840723e - last_write_checksum: sha1:d31ba3c705005a2a67a7147b7e4ce55450fbe684 - pristine_git_object: ec2efc052259bab5668fb3f180e87758783d22f8 + last_write_checksum: sha1:b47f86979756d9a93a7f2078288e4747df18c669 + pristine_git_object: 50f3969d7a2be4cf830990f2ae61e3cc27f6a5db src/gusto_embedded_v_2026_06_15/achtransactions.py: id: 29fab8a43f21 last_write_checksum: sha1:1559dc585407c26a472a8e4bbad26210f0ec60c7 @@ -6162,8 +6178,8 @@ trackedFiles: pristine_git_object: c6186776be043fa5ca8091c1c06392e951bdcdad src/gusto_embedded_v_2026_06_15/companies.py: id: 4951c8ed2067 - last_write_checksum: sha1:2b1db753e8f748b06e918917475ab28363b6b43e - pristine_git_object: a27e83295ee81eb0a2a1a24bf5d3e950c35c5dbc + last_write_checksum: sha1:e665f8bd3da8a1ee6a6c5ca04fd4dc116cb96326 + pristine_git_object: 0e397740eba4d9b4290a381bc124bbcf9719ed78 src/gusto_embedded_v_2026_06_15/companyattachment_sdk.py: id: 90392ee62998 last_write_checksum: sha1:f0494d8be6f827f940fdd1432cb22502ad82ac22 @@ -6190,8 +6206,8 @@ trackedFiles: pristine_git_object: 8749b61ccc888518257afcbda7570d14952610c2 src/gusto_embedded_v_2026_06_15/contractorpaymentgroups.py: id: d042c771054e - last_write_checksum: sha1:0615a3751d8f66d7b5c8032b48da7f854cd8dda4 - pristine_git_object: 30e941027db459439cde9c12442fd98930db37ae + last_write_checksum: sha1:7de4af6ac7881736eadc3b30e53e234fd63004d3 + pristine_git_object: 67914380080430e8d505f3de50af2c800d36c19a src/gusto_embedded_v_2026_06_15/contractorpaymentmethod_sdk.py: id: 61fd1490681a last_write_checksum: sha1:507d81e789cc71bfa9b3a280c9b06f1cf457d8e2 @@ -6206,24 +6222,24 @@ trackedFiles: pristine_git_object: 8b53396ee6aeaa21c48e8e5bf1f50d0ca940e61e src/gusto_embedded_v_2026_06_15/contractors.py: id: 88964512bd4f - last_write_checksum: sha1:4fbb4bfad099d981080511befe3febf87b39151b - pristine_git_object: 5c47f15f70cc73570bc86d2a1890197ce0b8688a + last_write_checksum: sha1:457720fdcb34d2a3830033e78ee6dbcb14df6af3 + pristine_git_object: 78acb930de31396856afb74cd4c55696c5e4950a src/gusto_embedded_v_2026_06_15/departments.py: id: c596115a00d6 - last_write_checksum: sha1:ed6b2c1478d3d342a5f1513cd492963b6410e8db - pristine_git_object: 1be22a68d2ab3c23276217f189fdbd162119807b + last_write_checksum: sha1:35f1c7433d6f24c6937bbae8475d5b6c19b5a5e7 + pristine_git_object: d0528cef9690be627f019d2b011fbb22690d8320 src/gusto_embedded_v_2026_06_15/earningtypes.py: id: d3498155c8d5 last_write_checksum: sha1:55733a2a624209d09aa99463b9c239cdd454674e pristine_git_object: a14b907b8959ebf8f44514acafc6e227a612bfa9 src/gusto_embedded_v_2026_06_15/employeeaddresses.py: id: 1374cdced836 - last_write_checksum: sha1:c83b2f8ba931b777f26d60a52f6ca0c3c24e86bd - pristine_git_object: 1dc9d6a53d08746a7f62461e4e9083f3832f4d18 + last_write_checksum: sha1:a276d137457d7dd86463f6612d1fa4bad91c3dc0 + pristine_git_object: f0a18e5ec2ead4f9ae4f473620fbdb65cb44c8bd src/gusto_embedded_v_2026_06_15/employeebenefits.py: id: 9e05318c4afc - last_write_checksum: sha1:0ac037a4f3e7bc64aaa265cfdeb897bd01e3570f - pristine_git_object: 5353af54a59996469906267d52661790291b3a00 + last_write_checksum: sha1:ad8553b843f7490185188eb1813369314316062a + pristine_git_object: c57fc8fab335df3933c56a73d22b4c051d840e3b src/gusto_embedded_v_2026_06_15/employeeemployments.py: id: db2b36a4e05a last_write_checksum: sha1:69efa56d09aa11178816ceaf1c4e6058dadbab35 @@ -6242,8 +6258,8 @@ trackedFiles: pristine_git_object: 00e88d4c6574efb625a927fff106ca0d6d2a15fd src/gusto_embedded_v_2026_06_15/employees.py: id: 760d4f2d59c3 - last_write_checksum: sha1:bb8d28a73e2f15f4141a169b458d6f5f5154cf8d - pristine_git_object: 5cfa89e3a9314efa5f63c425eafcec1802011f29 + last_write_checksum: sha1:927a711d204dfd88893988ae563c7ff76530ec78 + pristine_git_object: 0348f59dffeafe127d6ec92933a2d96fce7c1adc src/gusto_embedded_v_2026_06_15/employeetaxsetup.py: id: 35b61721d147 last_write_checksum: sha1:1b2290b136df374da6dfdc0607a872739bdef785 @@ -6258,8 +6274,8 @@ trackedFiles: pristine_git_object: 241f2ccfbc5479b62dd20c16d8b88453093fc848 src/gusto_embedded_v_2026_06_15/federaltaxdetails_sdk.py: id: cc896052cee4 - last_write_checksum: sha1:c4aeebfb4f71eece358f6748d2b7ef6b9542f79a - pristine_git_object: 6ee1e8f1414558f819b0fdd82747effc3e863af1 + last_write_checksum: sha1:b6da0346755f2972d22492aad8b7bea5fa5a81a1 + pristine_git_object: 74c03b2d58fdb330f4b6eea8c00430a118471c44 src/gusto_embedded_v_2026_06_15/flows.py: id: d244c7a7ae6e last_write_checksum: sha1:4754d66e2affd5018a577bf23c197222e5e25a4d @@ -6270,8 +6286,8 @@ trackedFiles: pristine_git_object: ea4ab4cdff5d24e6fa96bb2123fdfd93b4cd338f src/gusto_embedded_v_2026_06_15/generateddocuments.py: id: db16ccac4ea3 - last_write_checksum: sha1:b7fb499b01656c9e60fda854dbc473a134ebff14 - pristine_git_object: 330d4f6713f8fd8e0ef683c1a542f645eb397bdd + last_write_checksum: sha1:be2925c5491bc87f5c6227438e338fd43b71bf4f + pristine_git_object: 09637734876613e86d8b5091696f1ca41232a54f src/gusto_embedded_v_2026_06_15/historicalemployees.py: id: 85b0771aaae3 last_write_checksum: sha1:b9e183b08108daa7e7f9d131e372542f11263b8f @@ -6290,8 +6306,8 @@ trackedFiles: pristine_git_object: 42f309cbd4e10674c7f263fa3c58126d5d00726e src/gusto_embedded_v_2026_06_15/industryselection.py: id: eeaaea3bc752 - last_write_checksum: sha1:61f8c8bf22fd789932628538d97473a14d00bbee - pristine_git_object: b899a3f2de761e6e47094dc87850c6e6170a3f82 + last_write_checksum: sha1:55ba79c3c6a03bdf5e57b7ce73417d4963583351 + pristine_git_object: 2e278747d7bd570585edc71546d2768533d27aea src/gusto_embedded_v_2026_06_15/information_requests.py: id: c4f3dbab7c01 last_write_checksum: sha1:4a367c4a3f51633b27f9fd25e69b0e91bd4d01cf @@ -6306,16 +6322,16 @@ trackedFiles: pristine_git_object: e9fbdfd7e520019c5f2888d4c4e3e2ee08da78ca src/gusto_embedded_v_2026_06_15/jobsandcompensations.py: id: 07cbe90461d2 - last_write_checksum: sha1:a29c5d637b94ed8d025cceb0cba4e005d7eab52b - pristine_git_object: 0f33075000db12d65c59b8446afadd9174dd7781 + last_write_checksum: sha1:bf42be5e350caf93a5aa6f3873c74d0131d234fb + pristine_git_object: b6f80d5192d987c96547df600ae63fd02fc41a6c src/gusto_embedded_v_2026_06_15/locations.py: id: 078d2f9fd356 - last_write_checksum: sha1:d3499368d8bad6638a4008d9f03b6b439c690a01 - pristine_git_object: 6b7a194dfd408aa1869571bb0c235347d1b4af7f + last_write_checksum: sha1:a90b19e429b77fc7f23b8f3ab903fe3c53d9259e + pristine_git_object: 14551675b86b2d77658bbf8cce189f4babf804e3 src/gusto_embedded_v_2026_06_15/models/__init__.py: id: 4d37a522079f - last_write_checksum: sha1:43c44f60b01f4dbd43eed279c0bf105a8887d7c5 - pristine_git_object: 88717fb169be0b3800bf3165b17572a670a2bd68 + last_write_checksum: sha1:4baba9d7ba0da8b44315ac74f3cb3005b58927cc + pristine_git_object: 6f72c8d5795ef33932f93edd9e8022886a16f623 src/gusto_embedded_v_2026_06_15/models/ach_transaction.py: id: 7355442d08a7 last_write_checksum: sha1:ebb253a5bbc68ccdba4820ba3e9537a52acf382e @@ -6582,8 +6598,8 @@ trackedFiles: pristine_git_object: 69fd3d7bccc1def690e3f10df555ddd1e4c8f815 src/gusto_embedded_v_2026_06_15/models/delete_v1_companies_company_id_payrollsop.py: id: 551f7e69b422 - last_write_checksum: sha1:9c42dca83428e5911e1071023d64a700ce894dd9 - pristine_git_object: 50719a13b5d5d748126d044cb2bfbeaf39e254c7 + last_write_checksum: sha1:22e63b54730996f6017d80e3980ab016ee123062 + pristine_git_object: 94c52df7106a69381cc265dc406addf46f2974aa src/gusto_embedded_v_2026_06_15/models/delete_v1_companies_company_uuid_holiday_pay_policyop.py: id: 461fdca890ea last_write_checksum: sha1:e6f20c761d662fec55e93699954f9891e6b42567 @@ -6790,8 +6806,8 @@ trackedFiles: pristine_git_object: 206c0d7b3ec4f2580d593ce74dae1340e6f25bd3 src/gusto_embedded_v_2026_06_15/models/employee_onboarding_status.py: id: 8588aea6f923 - last_write_checksum: sha1:9a5ff2ca5f7e13f8b231134c27bff2c834c07a99 - pristine_git_object: c9ce1ce2113b0e447ce1a79e1fd0cb1724dd0d4c + last_write_checksum: sha1:6434570c6f4537aeb7aca188b3cd6c4ec130b350 + pristine_git_object: ae47a597833063a81c9ac795b5d066fcef506887 src/gusto_embedded_v_2026_06_15/models/employee_pay_stubs_list.py: id: d269991665a4 last_write_checksum: sha1:7c447c25baadf3000b45d9f6518194089774c345 @@ -6958,8 +6974,8 @@ trackedFiles: pristine_git_object: 735a15b415add211a9224f0cc9011523a2b1ca8d src/gusto_embedded_v_2026_06_15/models/get_company_notificationsop.py: id: 8279709f5319 - last_write_checksum: sha1:6b30b1bc1b074c4c5f117ad74804482ffbed5953 - pristine_git_object: 401aadb2ce2d8351554f7a06498822c2e19cc8e9 + last_write_checksum: sha1:af1f32ebb19557dc08103d22f65fa4c164541b34 + pristine_git_object: 2eedf01b00de34709f6e570d9ce9751e221f49e9 src/gusto_embedded_v_2026_06_15/models/get_departmentop.py: id: 10a50bceb3dd last_write_checksum: sha1:c5c0b8eaf4fd9a3037345a0044f6d9981fa4c1c8 @@ -7038,16 +7054,16 @@ trackedFiles: pristine_git_object: 2bc34e69770b47147d1e2d53c113784331ce532d src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractor_payment_groupsop.py: id: f31044c5f07c - last_write_checksum: sha1:240314d8ad93b72761802157abd20763c20e2483 - pristine_git_object: b27a9d87e76a66c11e884a6b26e41ef787e52382 + last_write_checksum: sha1:06efba35255b4295656e1e2d40e939c98b08f2d3 + pristine_git_object: b8ac4878a6edfa241584e3944288387b3791210c src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractor_paymentsop.py: id: a25c28567ae4 last_write_checksum: sha1:78897359b5cbc67ab54e1a7a5bc8950d0a1c345a pristine_git_object: c6d88f7d00c22d6de38c17ed3d02b1d1b2b48145 src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py: id: aca2372ee9b7 - last_write_checksum: sha1:c2e3dabcce618cce9017db043a844c73451ebfb1 - pristine_git_object: cd45ccb93675bce249b7f377ae7bd82e236d408a + last_write_checksum: sha1:8403ad5b196b7dcfbb1d7410cd2b247d191a99ee + pristine_git_object: 198d20108aa03cbc0c95c9a40fbc0cbb46acf336 src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_custom_fieldsop.py: id: 79b250d440a6 last_write_checksum: sha1:ec3e130544bdcc86773102ee28ea23b1b3b34932 @@ -7086,16 +7102,16 @@ trackedFiles: pristine_git_object: 06be2bb489650d95d0d5bca1792652dad400e66c src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_pay_schedules_previewop.py: id: 10d3da064656 - last_write_checksum: sha1:67b4757196502e07ff0e7e956508394c5f6d9b3d - pristine_git_object: ab0298ce9df972ce775e05ab894a84bb39950d98 + last_write_checksum: sha1:a8b4e5c4baa2c314f7aa245fafe8da515117933c + pristine_git_object: 026a0a6ffa0aab241aef06c40ba3f5a7662af588 src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_pay_schedulesop.py: id: 66d530a6db16 last_write_checksum: sha1:823e8cdf69010557508f811ba8c59744935af0cc pristine_git_object: 7a140e1098ddf6630c83c899463559ddb5f15f39 src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_payroll_reversalsop.py: id: 60deffe82f3d - last_write_checksum: sha1:12f793e1ab625b2347b60eb4c4f271d5f005ccbb - pristine_git_object: 5f2e544b79b3ac17445ef6b032ac5b14092a6c45 + last_write_checksum: sha1:cfd50664f907b0638bdaf38cd40c86a044bd4329 + pristine_git_object: e84d0f784f5fcfa08d145592a997785134a7fe8f src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_payrolls_id_partner_disbursementsop.py: id: 1cc62126d4f4 last_write_checksum: sha1:d73d16735ad26f08da75c9c8d03ae45ec52892e7 @@ -7190,8 +7206,8 @@ trackedFiles: pristine_git_object: 9f721100da21393ea823345285a78a44448d5931 src/gusto_embedded_v_2026_06_15/models/get_v1_company_onboarding_statusop.py: id: e2d57be90893 - last_write_checksum: sha1:aeec2913afeb2567bc7a7641234bfeb3fa6950cb - pristine_git_object: 3fd8a9e1796875f7ea582b5e8226e846210df4aa + last_write_checksum: sha1:d1263dfe8d7d5096dd1a8c0d380da5ef5197a398 + pristine_git_object: 21f742bee93c81c94b424076111cf9f8c9d72c65 src/gusto_embedded_v_2026_06_15/models/get_v1_company_payment_configsop.py: id: 6beda012bda0 last_write_checksum: sha1:6b50b2b15b126fa6fd4128d178f3d6748763bccd @@ -7286,8 +7302,8 @@ trackedFiles: pristine_git_object: 69f036045003464026cb76146447bd50b186a946 src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py: id: 1156e4875c99 - last_write_checksum: sha1:67dbdbb90056ff30bdfa767b8842cc16db9bbb9e - pristine_git_object: a04b17c3f629aedfd95f2f9b038b18eda35c7c3c + last_write_checksum: sha1:f1f7f1afd9e21dc14ee978eaad18f68c959bc5e4 + pristine_git_object: 66ecdd79df32c4a2669cbe97a2a4d8bb8390ab94 src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_employee_benefitsop.py: id: 9ee66a9e0138 last_write_checksum: sha1:6a52ec0108a6e691e17e77283d7f25c139cc1894 @@ -7322,8 +7338,8 @@ trackedFiles: pristine_git_object: 2236d8c6c1d935d1b374c286ae16e2f00060a0a3 src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_jobsop.py: id: 65c0e362e2e1 - last_write_checksum: sha1:9da2020ef5e74a870e8ae2018e30ecf67baac1ba - pristine_git_object: f59648027229b7ccffcedc2b3996671d28bbee85 + last_write_checksum: sha1:8c9a0e05e6fb0ee52e2d7f75c30f4dc87cc5d27a + pristine_git_object: ad8604860bfe8743f9d22e287fe322153ad217e5 src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_onboarding_statusop.py: id: 59738474e608 last_write_checksum: sha1:9a30acfd7adfbc902f942237be1ceafdd003c5d6 @@ -7386,8 +7402,8 @@ trackedFiles: pristine_git_object: df86f29eb1c5a7ad6b2a346fa96e4668e02bddfb src/gusto_embedded_v_2026_06_15/models/get_v1_generated_documents_document_type_request_uuidop.py: id: b36725261330 - last_write_checksum: sha1:e6e02bcb14cec9d39d37554eedc553c3d71afb60 - pristine_git_object: f88bc65f68fc6009f6d4b479ba91fa93b0988f51 + last_write_checksum: sha1:f55d522f3eb3970a2d8436a46d210c5614144396 + pristine_git_object: 30df39614abd0b2fff192086057e4115bbd32ba1 src/gusto_embedded_v_2026_06_15/models/get_v1_home_addresses_home_address_uuidop.py: id: ec0b02bfa08d last_write_checksum: sha1:a049957310bfae04b56beba2e9f6c7900bcf93da @@ -7398,8 +7414,8 @@ trackedFiles: pristine_git_object: d5dff46b24ca8e293c205596fc9b22a8f171b575 src/gusto_embedded_v_2026_06_15/models/get_v1_jobs_job_idop.py: id: 3cc1739d6865 - last_write_checksum: sha1:d411e741f448350ff4961103c607a4285c96435f - pristine_git_object: 87d6e5259890a45487254a702923c1457c9515bf + last_write_checksum: sha1:3035a2a1b6d628eca58334f4520c72ed70e15a49 + pristine_git_object: b2b21284f7c54e45cd7cd96c2588c4f052ed224e src/gusto_embedded_v_2026_06_15/models/get_v1_locations_location_idop.py: id: 59e36f66a137 last_write_checksum: sha1:03f85860c8815c5771dfd53c261f9d2b2cf107d0 @@ -7770,8 +7786,8 @@ trackedFiles: pristine_git_object: ea47ebf4d0516d068753417453709fb12d33ccbb src/gusto_embedded_v_2026_06_15/models/payroll_digest_results.py: id: 6c0e177bdbe6 - last_write_checksum: sha1:16fc564fbffc9c46a485c570d30012a549ebe985 - pristine_git_object: 629c3e9020357bf8111d8bd95144050e402a961d + last_write_checksum: sha1:5615ea5e99e2752f5c79c35a38337be0771ad627 + pristine_git_object: 6ae5534860647d6c1c08b3ba6e6754bb6931a12b src/gusto_embedded_v_2026_06_15/models/payroll_employee_compensations_type.py: id: d028da4a50ab last_write_checksum: sha1:b63645935f35eb05493a35f6f813d84222289c80 @@ -8102,8 +8118,8 @@ trackedFiles: pristine_git_object: ba67e7af30e5e8d8ab8530ca7810d23ffa937698 src/gusto_embedded_v_2026_06_15/models/post_v1_webhook_subscriptionop.py: id: 7108245cb397 - last_write_checksum: sha1:ad142aa97be4e699fe09dc21857f29f4be454fb6 - pristine_git_object: fd7dbaa7e0273d0d04206bd854bce8ed305f0040 + last_write_checksum: sha1:7146553f1249c7a02173637a420605beb1ca578c + pristine_git_object: de7ce72eb9c61499db6eeae08551dae3f6cd0c3d src/gusto_embedded_v_2026_06_15/models/printable_payroll_checks_body.py: id: b952798cdb6e last_write_checksum: sha1:f897a74bd02994b3aff04d1fbb7f64c9d75d2a4b @@ -8370,8 +8386,8 @@ trackedFiles: pristine_git_object: be3d4d67267f213c0cd8b678965205d6024ab353 src/gusto_embedded_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py: id: 3244d714d639 - last_write_checksum: sha1:a09c6b64ce9f7f116f8af0134d94cdfa73d386a1 - pristine_git_object: 8dbb92a584eebe75e41dee6bd71f751638bc6a08 + last_write_checksum: sha1:63ce63a84f0c32efe9fbf6b126df9921c48b3022 + pristine_git_object: 289a0a6882ee21dcb4df0376ad0a116e0077cee9 src/gusto_embedded_v_2026_06_15/models/put_v1_work_addresses_work_address_uuidop.py: id: ab9b9d7dc9d7 last_write_checksum: sha1:f48d69789c8bdf63e6cbe1230e19fb2292d45106 @@ -8524,14 +8540,10 @@ trackedFiles: id: ff6fbb32fb3c last_write_checksum: sha1:b49b7a38339f72acdde4aac330bbb75e0eb02eca pristine_git_object: 6d68f1648191a7d1cf074e8573717428725ae59b - src/gusto_embedded_v_2026_06_15/models/versionheader.py: - id: 95b3e9a7af99 - last_write_checksum: sha1:c6c3d2fe64b1e1203c9bfc5d82157c43485fdab7 - pristine_git_object: 39bb6cb724d35a493d61915ce3fefedd910704b0 src/gusto_embedded_v_2026_06_15/models/webhook_subscription.py: id: d6b5c150bda0 - last_write_checksum: sha1:cde8edc42e130b38bbfa82ea177310bf7e1ae5f2 - pristine_git_object: 646f4b496dc94eb61ce39b5d7c676e4e765cc760 + last_write_checksum: sha1:f81a6c9372fc5e97b1cb1c6edd5274591bcfad06 + pristine_git_object: 5cd6b5c6218aaaa0705b7a2379cba73e90e76fa4 src/gusto_embedded_v_2026_06_15/models/webhook_verification_token_response.py: id: 10ea176b56e2 last_write_checksum: sha1:f0d289e17dbf88633c4b5b157ebfe3c29668aca4 @@ -8558,28 +8570,28 @@ trackedFiles: pristine_git_object: 985fd98b9e2b440b50121abd757becd85e21ffce src/gusto_embedded_v_2026_06_15/notifications.py: id: be7b8e0080ca - last_write_checksum: sha1:0dc21fc9531b4b506197d9737b1befa74902d456 - pristine_git_object: 9a0a125a04f025c3e84983d27617cd3d26d266e0 + last_write_checksum: sha1:c3261f83d2f01357c7217900bda1ec5361b08ebb + pristine_git_object: 416515f6dd27d3d48ba35d2b2faf64f45b75cdc1 src/gusto_embedded_v_2026_06_15/paymentconfigs_sdk.py: id: 8746bda578fd last_write_checksum: sha1:5966b9306751fe1af5f541c45579a7c9e28812e9 pristine_git_object: 1f99c47f364691724b6d165828b08010c74ed254 src/gusto_embedded_v_2026_06_15/payroll_digests.py: id: c85918acd397 - last_write_checksum: sha1:127e0b7c46d1bc49546cb0ff8f656d3a5654b899 - pristine_git_object: 808e6d7a1ca86dd06d2fc59ad84581c970aa3879 + last_write_checksum: sha1:6481dd5d96802dd8b057d3e501cc3a04e43d2aaf + pristine_git_object: ab4914b3b11d123f7313e6f7c169f033d6638455 src/gusto_embedded_v_2026_06_15/payrolls.py: id: f5a86e2dca95 - last_write_checksum: sha1:983daf68aa37749496f5d151c26485165dd99c47 - pristine_git_object: a6f751dbc88b803fa597a2d440fea651e2088df6 + last_write_checksum: sha1:0e18ffccccd5d3694df0339df4e044aee5cd3e1d + pristine_git_object: e18a89ddc72039c15062df97a92ee7f8a3984bc4 src/gusto_embedded_v_2026_06_15/payschedules.py: id: d882e40d2418 - last_write_checksum: sha1:898a8fe0e0cd93a18d3d0569768294b9b15d2784 - pristine_git_object: 51d69d982a8c729d9a4ca1ddd6d860bb486a45f0 + last_write_checksum: sha1:5d6849187e4d4c6a00afe82ed1b0850f0f817359 + pristine_git_object: f8e943b9dfffb1cda9cd440a28c071709bad4651 src/gusto_embedded_v_2026_06_15/people_batches.py: id: 26c1f74c5e74 - last_write_checksum: sha1:a22e7504d87d5a0c6df0266bc06e75850f5bda28 - pristine_git_object: d5a90f17d90af30ddca750dfa943e8869d4c3e1f + last_write_checksum: sha1:2b62bc846b127f53fb7e3441c4c384bf93994b1a + pristine_git_object: 9b02585a5115ec45fb1271b06e6f0964a3623aec src/gusto_embedded_v_2026_06_15/py.typed: id: d59a58690f29 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 @@ -8610,16 +8622,16 @@ trackedFiles: pristine_git_object: b04ae1d4837313445f546362b1ae3920eda5ad04 src/gusto_embedded_v_2026_06_15/signatories.py: id: 82dfb501bcde - last_write_checksum: sha1:a01cc686e120cad47e7ed3a4c81e1cf59322967a - pristine_git_object: 8b1d50bda25a80af1e91b22b3099a94cfa8eb1d0 + last_write_checksum: sha1:aa711163a6a9e7929bfa96e65e0304a80f52429d + pristine_git_object: 7e5c9b3ddc4186151ef064fd48599ca4a85c46bc src/gusto_embedded_v_2026_06_15/suspensions.py: id: fec3166ad329 last_write_checksum: sha1:440bd9b0d095c6e6fa73d54c9d65d9599ca14710 pristine_git_object: d9823d72998ba39b7080b90e3ad7ec5dc97d72b2 src/gusto_embedded_v_2026_06_15/taxrequirements.py: id: f47b7840fe05 - last_write_checksum: sha1:277d9b8ca0609021c2f3bb9952ee945c176c9383 - pristine_git_object: f16d052ebb01b1790fe444b8219da30fe794172b + last_write_checksum: sha1:0fc55e9b3db04a6f41a2530e9148532255a5353f + pristine_git_object: 2ad679a61c3105c82c6f827f014b656ba13a4f3f src/gusto_embedded_v_2026_06_15/time_off_requests.py: id: 69d6d433dca6 last_write_checksum: sha1:ba776a8fca426a0192050d70f3882c134f0ff767 @@ -8718,12 +8730,12 @@ trackedFiles: pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3 src/gusto_embedded_v_2026_06_15/webhooks.py: id: dc683ba66285 - last_write_checksum: sha1:1a55daf6f3ce37f66d8f44b671fc26057f9d95f1 - pristine_git_object: 4cabc78c82896a8727cdeacaa3e8d3b9775f5b43 + last_write_checksum: sha1:a67da718a30b78d157edee18dbf07e5e3ff9fccb + pristine_git_object: d8b21c5fd7a918fa3060e9817322d7803406f623 src/gusto_embedded_v_2026_06_15/wireinrequests.py: id: 8c17f04447a0 - last_write_checksum: sha1:3e9f5df8fa7c0831f6b6b8b633aa8230b6e950b8 - pristine_git_object: e325886442560719356e014a2ea4b1957192c2ae + last_write_checksum: sha1:8bdbcb63772ee11157c23e7746702ce403b90878 + pristine_git_object: 202ab6774196b649135ae2fd29427ab4b46e4b27 examples: get-ach-transactions: speakeasy-default-get-ach-transactions: @@ -9759,6 +9771,9 @@ examples: X-Gusto-API-Version: "2026-06-15" requestBody: application/json: {"start_date": "2025-07-01"} + responses: + "422": + application/json: {"errors": [{"error_key": "", "category": ""}]} delete-v1-contractors-contractor_uuid-rehire: speakeasy-default-delete-v1-contractors-contractor-uuid-rehire: parameters: @@ -9766,6 +9781,9 @@ examples: contractor_uuid: "" header: X-Gusto-API-Version: "2026-06-15" + responses: + "422": + application/json: {"errors": []} post-v1-contractors-contractor_uuid-termination: speakeasy-default-post-v1-contractors-contractor-uuid-termination: parameters: @@ -9775,6 +9793,9 @@ examples: X-Gusto-API-Version: "2026-06-15" requestBody: application/json: {"end_date": "2025-06-15"} + responses: + "422": + application/json: {"errors": [{"error_key": "", "category": ""}]} delete-v1-contractors-contractor_uuid-termination: speakeasy-default-delete-v1-contractors-contractor-uuid-termination: parameters: @@ -9782,6 +9803,9 @@ examples: contractor_uuid: "" header: X-Gusto-API-Version: "2026-06-15" + responses: + "422": + application/json: {"errors": []} get-v1-contractors-contractor_uuid: speakeasy-default-get-v1-contractors-contractor-uuid: parameters: @@ -12881,3 +12905,4 @@ examples: "404": application/json: {"errors": [{"error_key": "", "category": ""}]} examplesVersion: 1.0.2 +releaseNotes: "## Python SDK Changes:\n* `gusto.contractors.post_v1_contractors_contractor_uuid_rehire()`: `error.status[422]` **Added**\n* `gusto.contractors.delete_v1_contractors_contractor_uuid_rehire()`: `error.status[422]` **Added**\n* `gusto.contractors.post_v1_contractors_contractor_uuid_termination()`: `error.status[422]` **Added**\n* `gusto.contractors.delete_v1_contractors_contractor_uuid_termination()`: `error.status[422]` **Added**\n* `gusto.employees.get_onboarding_status()`: `response.blockers` **Added**\n* `gusto.employees.update_onboarding_status()`: `response.blockers` **Added**\n* `gusto.payrolls.get_approved_reversals()`: `request.x_gusto_api_version` **Changed**\n* `gusto.generated_documents.get()`: `request.x_gusto_api_version` **Changed**\n* `gusto.pay_schedules.get_preview()`: `request.pay_schedule_uuid` **Added**\n* `gusto.webhooks.list_subscriptions()`: `response.[].subscription_types[].enum(time_off_request)` **Added**\n* `gusto.webhooks.create_subscription()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added**\n* `gusto.webhooks.get_subscription()`: `response.subscription_types[].enum(time_off_request)` **Added**\n* `gusto.webhooks.update_subscription()`: \n * `request.subscription_types[].enum(time_off_request)` **Added**\n * `response.subscription_types[].enum(time_off_request)` **Added**\n* `gusto.webhooks.verify()`: `response.subscription_types[].enum(time_off_request)` **Added**\n" diff --git a/gusto_embedded_v_2026_06_15/.speakeasy/gen.yaml b/gusto_embedded_v_2026_06_15/.speakeasy/gen.yaml index 5071f27e..65eb7e82 100644 --- a/gusto_embedded_v_2026_06_15/.speakeasy/gen.yaml +++ b/gusto_embedded_v_2026_06_15/.speakeasy/gen.yaml @@ -34,7 +34,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false python: - version: 0.0.1 + version: 0.0.2 additionalDependencies: dev: {} main: {} @@ -88,6 +88,7 @@ python: preApplyUnionDiscriminators: true pytestFilterWarnings: [] pytestTimeout: 0 + rawResponseHelpers: false responseFormat: flat sseFlatResponse: false templateVersion: v2 diff --git a/gusto_embedded_v_2026_06_15/README-PYPI.md b/gusto_embedded_v_2026_06_15/README-PYPI.md index 5477df35..768525e8 100644 --- a/gusto_embedded_v_2026_06_15/README-PYPI.md +++ b/gusto_embedded_v_2026_06_15/README-PYPI.md @@ -836,7 +836,7 @@ with Gusto( **Inherit from [`GustoError`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded_v_2026_06_15/./src/gusto_embedded_v_2026_06_15/models/gustoerror.py)**: -* [`UnprocessableEntityError1`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded_v_2026_06_15/./src/gusto_embedded_v_2026_06_15/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 159 of 302 methods.* +* [`UnprocessableEntityError1`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded_v_2026_06_15/./src/gusto_embedded_v_2026_06_15/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 163 of 302 methods.* * [`ConflictErrorObject`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded_v_2026_06_15/./src/gusto_embedded_v_2026_06_15/models/conflicterrorobject.py): Conflict This error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry. Status code `409`. Applicable to 2 of 302 methods.* * [`PeopleBatchConflictError`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded_v_2026_06_15/./src/gusto_embedded_v_2026_06_15/models/peoplebatchconflicterror.py): Error response when a people batch idempotency key conflict occurs. Status code `409`. Applicable to 1 of 302 methods.* * [`PayrollDigestConflictError`](https://github.com/Gusto/gusto-python-client/blob/master/gusto_embedded_v_2026_06_15/./src/gusto_embedded_v_2026_06_15/models/payrolldigestconflicterror.py): Error response when a payroll digest idempotency key has already been used by the same partner. Status code `409`. Applicable to 1 of 302 methods.* diff --git a/gusto_embedded_v_2026_06_15/README.md b/gusto_embedded_v_2026_06_15/README.md index 5fd5697a..5ba8860b 100644 --- a/gusto_embedded_v_2026_06_15/README.md +++ b/gusto_embedded_v_2026_06_15/README.md @@ -836,7 +836,7 @@ with Gusto( **Inherit from [`GustoError`](./src/gusto_embedded_v_2026_06_15/models/gustoerror.py)**: -* [`UnprocessableEntityError1`](./src/gusto_embedded_v_2026_06_15/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 159 of 302 methods.* +* [`UnprocessableEntityError1`](./src/gusto_embedded_v_2026_06_15/models/unprocessableentityerror1.py): Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details. Applicable to 163 of 302 methods.* * [`ConflictErrorObject`](./src/gusto_embedded_v_2026_06_15/models/conflicterrorobject.py): Conflict This error occurs when the resource version provided does not match the current version. Retrieve the latest version and retry. Status code `409`. Applicable to 2 of 302 methods.* * [`PeopleBatchConflictError`](./src/gusto_embedded_v_2026_06_15/models/peoplebatchconflicterror.py): Error response when a people batch idempotency key conflict occurs. Status code `409`. Applicable to 1 of 302 methods.* * [`PayrollDigestConflictError`](./src/gusto_embedded_v_2026_06_15/models/payrolldigestconflicterror.py): Error response when a payroll digest idempotency key has already been used by the same partner. Status code `409`. Applicable to 1 of 302 methods.* diff --git a/gusto_embedded_v_2026_06_15/docs/models/blockers.md b/gusto_embedded_v_2026_06_15/docs/models/blockers.md index b96b99de..e2db1ac3 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/blockers.md +++ b/gusto_embedded_v_2026_06_15/docs/models/blockers.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `type` | *Optional[str]* | :heavy_minus_sign: | A machine-readable blocker key (e.g. `missing_bank_account`). | -| `description` | *Optional[str]* | :heavy_minus_sign: | Human-readable description of the blocker. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `field` | [Optional[models.FieldT]](../models/fieldt.md) | :heavy_minus_sign: | The employee field affected. | +| `category` | [Optional[models.EmployeeOnboardingStatusCategory]](../models/employeeonboardingstatuscategory.md) | :heavy_minus_sign: | Category of the blocker. See the array-level description for resolution guidance. | +| `message` | *Optional[str]* | :heavy_minus_sign: | Human-readable description of the blocker. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletedepartmentrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletedepartmentrequest.md index fa5403d9..5e11e97f 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletedepartmentrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletedepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteDepartmentHeaderXGustoAPIVersion]](../models/deletedepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyidpayrollsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyidpayrollsrequest.md index 8ae555aa..9c17b705 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyidpayrollsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyidpayrollsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/deletev1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | -| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/deletev1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md index 64eb8d98..bc943c39 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1companiescompanyuuidsignatoriessignatoryuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/deletev1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `signatory_uuid` | *str* | :heavy_check_mark: | The UUID of the signatory | -| `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/deletev1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `signatory_uuid` | *str* | :heavy_check_mark: | The UUID of the signatory | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md index 151e2c4b..b8aac029 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorpaymentgroupscontractorpaymentgroupidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/deletev1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/deletev1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidrehirerequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidrehirerequest.md index a7b067eb..9b156172 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidrehirerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidrehirerequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | -| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDRehireHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidrehireheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDRehireHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidrehireheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidterminationrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidterminationrequest.md index 2496ffc8..00717d08 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidterminationrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1contractorscontractoruuidterminationrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | -| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDTerminationHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidterminationheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1ContractorsContractorUUIDTerminationHeaderXGustoAPIVersion]](../models/deletev1contractorscontractoruuidterminationheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1jobsjobidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1jobsjobidrequest.md index 6724cfe6..6d9df121 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1jobsjobidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1jobsjobidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | -| `x_gusto_api_version` | [Optional[models.DeleteV1JobsJobIDHeaderXGustoAPIVersion]](../models/deletev1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1JobsJobIDHeaderXGustoAPIVersion]](../models/deletev1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md index b44156c9..3b1cbfd9 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/deletev1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md index e21c51ef..103375b8 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/deletev1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.DeleteV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/deletev1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatus.md b/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatus.md index 1bcf0840..08704151 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatus.md +++ b/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatus.md @@ -5,8 +5,9 @@ The representation of an employee's onboarding status. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `uuid` | *str* | :heavy_check_mark: | Unique identifier for this employee. | -| `onboarding_status` | *Optional[str]* | :heavy_minus_sign: | One of the "onboarding_status" enum values. | -| `onboarding_steps` | List[[models.EmployeeOnboardingStatusOnboardingStep](../models/employeeonboardingstatusonboardingstep.md)] | :heavy_minus_sign: | List of steps required to onboard an employee. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `uuid` | *str* | :heavy_check_mark: | Unique identifier for this employee. | +| `onboarding_status` | *Optional[str]* | :heavy_minus_sign: | One of the "onboarding_status" enum values. | +| `onboarding_steps` | List[[models.EmployeeOnboardingStatusOnboardingStep](../models/employeeonboardingstatusonboardingstep.md)] | :heavy_minus_sign: | List of steps required to onboard an employee. | +| `blockers` | List[[models.Blockers](../models/blockers.md)] | :heavy_minus_sign: | Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message.

Supported categories:

- `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict.

This list may grow over time as new validation rules are added.
| \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatuscategory.md b/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatuscategory.md new file mode 100644 index 00000000..fd757c77 --- /dev/null +++ b/gusto_embedded_v_2026_06_15/docs/models/employeeonboardingstatuscategory.md @@ -0,0 +1,18 @@ +# EmployeeOnboardingStatusCategory + +Category of the blocker. See the array-level description for resolution guidance. + +## Example Usage + +```python +from gusto_embedded_v_2026_06_15.models import EmployeeOnboardingStatusCategory + +value = EmployeeOnboardingStatusCategory.DUPLICATE_VALUE +``` + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `DUPLICATE_VALUE` | duplicate_value | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/fieldt.md b/gusto_embedded_v_2026_06_15/docs/models/fieldt.md new file mode 100644 index 00000000..f4b14246 --- /dev/null +++ b/gusto_embedded_v_2026_06_15/docs/models/fieldt.md @@ -0,0 +1,18 @@ +# FieldT + +The employee field affected. + +## Example Usage + +```python +from gusto_embedded_v_2026_06_15.models import FieldT + +value = FieldT.SSN +``` + + +## Values + +| Name | Value | +| ----- | ----- | +| `SSN` | ssn | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md index f0499c07..484c54d7 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getcompaniescompanyuuidwireinrequestuuidrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.GetCompaniesCompanyUUIDWireInRequestUUIDHeaderXGustoAPIVersion]](../models/getcompaniescompanyuuidwireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md index 0ec638e3..d598309d 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getcompaniesdepartmentsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetCompaniesDepartmentsHeaderXGustoAPIVersion]](../models/getcompaniesdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getcompanynotificationsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getcompanynotificationsrequest.md index 637a1ff0..b870aa17 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getcompanynotificationsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getcompanynotificationsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | | `status` | [Optional[models.QueryParamStatus]](../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | -| `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getdepartmentrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getdepartmentrequest.md index 8db1cf92..23a6159c 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getdepartmentrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getdepartmentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | -| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetDepartmentHeaderXGustoAPIVersion]](../models/getdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getnotificationsnotificationuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getnotificationsnotificationuuidrequest.md index 53bfcd35..4c5a3710 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getnotificationsnotificationuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getnotificationsnotificationuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `notification_uuid` | *str* | :heavy_check_mark: | The notification entity_uuid | -| `x_gusto_api_version` | [Optional[models.GetNotificationsNotificationUUIDHeaderXGustoAPIVersion]](../models/getnotificationsnotificationuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetNotificationsNotificationUUIDHeaderXGustoAPIVersion]](../models/getnotificationsnotificationuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `notification_uuid` | *str* | :heavy_check_mark: | The notification entity_uuid | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md index 9e83cb0d..6e840550 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorpaymentgroupsrequest.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `start_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. | 2020-01-01 | | `end_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to today's date. | 2020-12-31 | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md index 0d986047..3e6b39b9 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidcontractorspaymentdetailsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | -| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md index 14459d04..07967a24 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidfederaltaxdetailsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDFederalTaxDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidfederaltaxdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDFederalTaxDetailsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidfederaltaxdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md new file mode 100644 index 00000000..304f6600 --- /dev/null +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_embedded_v_2026_06_15.models import GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + +value = GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ----------------------------------------------- | ----------------------------------------------- | +| `TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15` | 2026-06-15 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsrequest.md index f46286b2..918d87b7 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollreversalsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md index 1dcfd430..3d70561d 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `id` | *str* | :heavy_check_mark: | The UUID of the payroll | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md index 437f96d4..bc90ad86 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollspayrollidrequest.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsPayrollIDHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollspayrollidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `include` | List[[models.GetV1CompaniesCompanyIDPayrollsPayrollIDQueryParamInclude](../models/getv1companiescompanyidpayrollspayrollidqueryparaminclude.md)] | :heavy_minus_sign: | Include the requested attribute in the response, for multiple attributes comma separate the values, i.e. `?include=benefits,deductions,taxes` | | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md index 92805c22..fed93555 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayrollsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../models/getv1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | | `processing_statuses` | List[[models.ProcessingStatuses](../models/processingstatuses.md)] | :heavy_minus_sign: | Whether to include processed and/or unprocessed payrolls in the response, defaults to processed, for multiple attributes comma separate the values, i.e. `?processing_statuses=processed,unprocessed` | | | `payroll_types` | List[[models.QueryParamPayrollTypes](../models/queryparampayrolltypes.md)] | :heavy_minus_sign: | Whether to include regular and/or off_cycle payrolls in the response, defaults to regular, for multiple attributes comma separate the values, i.e. `?payroll_types=regular,off_cycle` | | | `processed` | *Optional[bool]* | :heavy_minus_sign: | Whether to return processed or unprocessed payrolls | | diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md index 3fb46982..345f1480 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyidpayschedulespreviewrequest.md @@ -12,4 +12,5 @@ | `anchor_end_of_pay_period` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_check_mark: | The last date of the first pay period. This can be the same date as the anchor pay date. | 2020-05-08 | | `day_1` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. | 15 | | `day_2` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. | 31 | -| `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. | | \ No newline at end of file +| `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. | | +| `pay_schedule_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. | | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidsignatoriesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidsignatoriesrequest.md index da812376..1b6a534c 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidsignatoriesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidsignatoriesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDSignatoriesHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidsignatoriesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDSignatoriesHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidsignatoriesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md index f4e03fa8..c05407c4 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md index bc1a063f..47480df7 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiescompanyuuidtaxrequirementsstaterequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | | `state` | *str* | :heavy_check_mark: | The two-letter state abbreviation | CA | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/getv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `scheduling` | *Optional[bool]* | :heavy_minus_sign: | When true, return "new" requirement sets with valid `effective_from` dates that are available to save new effective-dated values. | | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companiesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companiesrequest.md index ddf4598f..4a4c0132 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companiesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companiesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesHeaderXGustoAPIVersion]](../models/getv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companyfinishonboardingrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companyfinishonboardingrequest.md index 25b53553..ce122267 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companyfinishonboardingrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companyfinishonboardingrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `x_gusto_api_version` | [Optional[models.GetV1CompanyFinishOnboardingHeaderXGustoAPIVersion]](../models/getv1companyfinishonboardingheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompanyFinishOnboardingHeaderXGustoAPIVersion]](../models/getv1companyfinishonboardingheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companyindustryrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companyindustryrequest.md index 3394230d..a7b683e8 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companyindustryrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companyindustryrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1CompanyIndustryHeaderXGustoAPIVersion]](../models/getv1companyindustryheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1CompanyIndustryHeaderXGustoAPIVersion]](../models/getv1companyindustryheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1companyonboardingstatusrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1companyonboardingstatusrequest.md index e7d9a6cc..51fbef25 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1companyonboardingstatusrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1companyonboardingstatusrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion]](../models/getv1companyonboardingstatusheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | -| `x_gusto_api_version` | [Optional[models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion]](../models/getv1companyonboardingstatusheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | \ No newline at end of file +| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md index b96ae30f..43ff84ba 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupscontractorpaymentgroupidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupscontractorpaymentgroupidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md index c73f4965..a9f03cec 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1contractorpaymentgroupsidpartnerdisbursementsrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/getv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md index ad3665fe..dd48aea7 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidcustomfieldsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | -| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md index 25bcddc3..50cef7ab 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidhomeaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidjobsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidjobsrequest.md index 1de83b22..b7ba0326 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidjobsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidjobsrequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `include` | [Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude]](../models/getv1employeesemployeeidjobsqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `include` | [Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude]](../models/getv1employeesemployeeidjobsqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md index 00b143d5..93254bf5 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeidworkaddressesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index 098f64ea..2d27a7de 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md index de8d6594..743bef62 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/getv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md b/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md new file mode 100644 index 00000000..a96e7be9 --- /dev/null +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md @@ -0,0 +1,18 @@ +# GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + +Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + +## Example Usage + +```python +from gusto_embedded_v_2026_06_15.models import GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + +value = GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 +``` + + +## Values + +| Name | Value | +| ----------------------------------------------- | ----------------------------------------------- | +| `TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15` | 2026-06-15 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md index 17b976d8..0a727a02 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1generateddocumentsdocumenttyperequestuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion]](../models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `document_type` | [models.PathParamDocumentType](../models/pathparamdocumenttype.md) | :heavy_check_mark: | The type of document being generated | -| `request_uuid` | *str* | :heavy_check_mark: | The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `request_uuid` | *str* | :heavy_check_mark: | The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md index 654451d4..fd27eac5 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1homeaddresseshomeaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | -| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion]](../models/getv1homeaddresseshomeaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `home_address_uuid` | *str* | :heavy_check_mark: | The UUID of the home address | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1jobsjobidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1jobsjobidrequest.md index 369b8fda..832f38ec 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1jobsjobidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1jobsjobidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.GetV1JobsJobIDHeaderXGustoAPIVersion]](../models/getv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `job_id` | *str* | :heavy_check_mark: | The UUID of the job | -| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| -| `x_gusto_api_version` | [Optional[models.GetV1JobsJobIDHeaderXGustoAPIVersion]](../models/getv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md index 12dc5397..7b94700f 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1locationslocationuuidminimumwagesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `x_gusto_api_version` | [Optional[models.GetV1LocationsLocationUUIDMinimumWagesHeaderXGustoAPIVersion]](../models/getv1locationslocationuuidminimumwagesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `location_uuid` | *str* | :heavy_check_mark: | The UUID of the location | | | `effective_date` | *Optional[str]* | :heavy_minus_sign: | N/A | 2020-01-31 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md index 1341dfdf..bc3bbc43 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessHeaderXGustoAPIVersion]](../models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessHeaderXGustoAPIVersion]](../models/getv1partnermanagedcompaniescompanyuuidmigrationreadinessheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md index ccbc28dc..dbe06b69 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | -| `x_gusto_api_version` | [Optional[models.GetV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceHeaderXGustoAPIVersion]](../models/getv1partnermanagedcompaniescompanyuuidtermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceHeaderXGustoAPIVersion]](../models/getv1partnermanagedcompaniescompanyuuidtermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md index 67b2b441..7af9e3c4 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1paymentreceiptspayrollspayrolluuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payroll_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `x_gusto_api_version` | [Optional[models.GetV1PaymentReceiptsPayrollsPayrollUUIDHeaderXGustoAPIVersion]](../models/getv1paymentreceiptspayrollspayrolluuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PaymentReceiptsPayrollsPayrollUUIDHeaderXGustoAPIVersion]](../models/getv1paymentreceiptspayrollspayrolluuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `payroll_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md index cb1212f3..7e920c08 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1payrolldigestspayrolldigestuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `payroll_digest_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll digest batch returned by `POST /v1/payroll_digests`. | -| `x_gusto_api_version` | [Optional[models.GetV1PayrollDigestsPayrollDigestUUIDHeaderXGustoAPIVersion]](../models/getv1payrolldigestspayrolldigestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PayrollDigestsPayrollDigestUUIDHeaderXGustoAPIVersion]](../models/getv1payrolldigestspayrolldigestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `payroll_digest_uuid` | *str* | :heavy_check_mark: | The UUID of the payroll digest batch returned by `POST /v1/payroll_digests`. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md index 8e49dea7..607ff3a4 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1peoplebatchespeoplebatchuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `people_batch_uuid` | *str* | :heavy_check_mark: | The UUID of the people batch | -| `x_gusto_api_version` | [Optional[models.GetV1PeopleBatchesPeopleBatchUUIDHeaderXGustoAPIVersion]](../models/getv1peoplebatchespeoplebatchuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1PeopleBatchesPeopleBatchUUIDHeaderXGustoAPIVersion]](../models/getv1peoplebatchespeoplebatchuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `people_batch_uuid` | *str* | :heavy_check_mark: | The UUID of the people batch | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md index 1668e8ab..227e3d31 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md index 9f8ff4ca..4fabc561 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1webhooksubscriptionverificationtokenuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | -| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WebhookSubscriptionVerificationTokenUUIDHeaderXGustoAPIVersion]](../models/getv1webhooksubscriptionverificationtokenuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md index 7888f203..93b1aabd 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getv1workaddressesworkaddressuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | -| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/getv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/getwireinrequestswireinrequestuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/getwireinrequestswireinrequestuuidrequest.md index 38bb1575..9d253a53 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/getwireinrequestswireinrequestuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/getwireinrequestswireinrequestuuidrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | -| `x_gusto_api_version` | [Optional[models.GetWireInRequestsWireInRequestUUIDHeaderXGustoAPIVersion]](../models/getwireinrequestswireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.GetWireInRequestsWireInRequestUUIDHeaderXGustoAPIVersion]](../models/getwireinrequestswireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md index 193bd972..077b3cd6 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/patchv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `x_gusto_api_version` | [Optional[models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/patchv1companiescompanyidpayrollsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `body` | [Optional[models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequestBody]](../models/patchv1companiescompanyidpayrollsidpartnerdisbursementsrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md index 8cb885f4..72660c44 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | | `x_gusto_api_version` | [Optional[models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsHeaderXGustoAPIVersion]](../models/patchv1contractorpaymentgroupsidpartnerdisbursementsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `id` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | | `body` | [Optional[models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequestBody]](../models/patchv1contractorpaymentgroupsidpartnerdisbursementsrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md b/gusto_embedded_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md index f1af0ad5..1571ce7d 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `effective_year` | *int* | :heavy_check_mark: | The effective year for the Section 603 status | -| `x_gusto_api_version` | [Optional[models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearHeaderXGustoAPIVersion]](../models/patchv1employeesemployeeuuidsection603highearnerstatuseseffectiveyearheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `body` | [models.EmployeeSection603HighEarnerStatusUpdateRequest](../models/employeesection603highearnerstatusupdaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsblockers.md b/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsblockers.md new file mode 100644 index 00000000..ae2ae4c0 --- /dev/null +++ b/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsblockers.md @@ -0,0 +1,9 @@ +# PayrollDigestResultsBlockers + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `type` | *Optional[str]* | :heavy_minus_sign: | A machine-readable blocker key (e.g. `missing_bank_account`). | +| `description` | *Optional[str]* | :heavy_minus_sign: | Human-readable description of the blocker. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsresults.md b/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsresults.md index 096472e2..304349eb 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsresults.md +++ b/gusto_embedded_v_2026_06_15/docs/models/payrolldigestresultsresults.md @@ -10,5 +10,5 @@ | `uuid` | *Optional[str]* | :heavy_minus_sign: | The UUID of the company. | | `name` | *Optional[str]* | :heavy_minus_sign: | The legal/display name of the company. | | `status` | [Optional[models.PayrollDigestResultsResultsStatus]](../models/payrolldigestresultsresultsstatus.md) | :heavy_minus_sign: | The status of this company's digest computation. | -| `blockers` | List[[models.Blockers](../models/blockers.md)] | :heavy_minus_sign: | Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. | +| `blockers` | List[[models.PayrollDigestResultsBlockers](../models/payrolldigestresultsblockers.md)] | :heavy_minus_sign: | Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers. | | `payrolls` | List[[models.PayrollsModel](../models/payrollsmodel.md)] | :heavy_minus_sign: | Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty. | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postdepartmentsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postdepartmentsrequest.md index b200ce25..6cabc424 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postdepartmentsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostDepartmentsHeaderXGustoAPIVersion]](../models/postdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.DepartmentCreateRequestBody](../models/departmentcreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md b/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md index 1ce9754f..a07571d7 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidaccepttermsofservicerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostPartnerManagedCompaniesCompanyUUIDAcceptTermsOfServiceHeaderXGustoAPIVersion]](../models/postpartnermanagedcompaniescompanyuuidaccepttermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PartnerManagedCompanyAcceptTermsOfServiceRequest](../models/partnermanagedcompanyaccepttermsofservicerequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md b/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md index 1232cfaa..e28026c9 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postpartnermanagedcompaniescompanyuuidretrievetermsofservicerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostPartnerManagedCompaniesCompanyUUIDRetrieveTermsOfServiceHeaderXGustoAPIVersion]](../models/postpartnermanagedcompaniescompanyuuidretrievetermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PartnerManagedCompanyRetrieveTermsOfServiceRequest](../models/partnermanagedcompanyretrievetermsofservicerequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyidpeoplebatchesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyidpeoplebatchesrequest.md index a1c4185c..08638596 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyidpeoplebatchesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyidpeoplebatchesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1CompaniesCompanyIDPeopleBatchesHeaderXGustoAPIVersion]](../models/postv1companiescompanyidpeoplebatchesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PostV1CompaniesCompanyIDPeopleBatchesRequestBody](../models/postv1companiescompanyidpeoplebatchesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md index 19db6a28..94993834 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1companiescompanyuuidsignatoriesinviterequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1CompaniesCompanyUUIDSignatoriesInviteHeaderXGustoAPIVersion]](../models/postv1companiescompanyuuidsignatoriesinviteheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.SignatoryInviteRequest](../models/signatoryinviterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1companysignatoriesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1companysignatoriesrequest.md index 4d6c880b..901d7fb4 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1companysignatoriesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1companysignatoriesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1CompanySignatoriesHeaderXGustoAPIVersion]](../models/postv1companysignatoriesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.SignatoryCreateRequest](../models/signatorycreaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidrehirerequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidrehirerequest.md index f56bb83b..b6c1f130 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidrehirerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidrehirerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `x_gusto_api_version` | [Optional[models.PostV1ContractorsContractorUUIDRehireHeaderXGustoAPIVersion]](../models/postv1contractorscontractoruuidrehireheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `body` | [Optional[models.PostV1ContractorsContractorUUIDRehireRequestBody]](../models/postv1contractorscontractoruuidrehirerequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidterminationrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidterminationrequest.md index 48b504dc..8d1f8fa6 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidterminationrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1contractorscontractoruuidterminationrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `x_gusto_api_version` | [Optional[models.PostV1ContractorsContractorUUIDTerminationHeaderXGustoAPIVersion]](../models/postv1contractorscontractoruuidterminationheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor | | `body` | [Optional[models.PostV1ContractorsContractorUUIDTerminationRequestBody]](../models/postv1contractorscontractoruuidterminationrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md index 1835d193..482a8182 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidhomeaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDHomeAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidhomeaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody](../models/postv1employeesemployeeidhomeaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidjobsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidjobsrequest.md index 7efa19ce..546dfcae 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidjobsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidjobsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.JobsCreateRequestBody](../models/jobscreaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md index 2e4dca51..077c3a6f 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeidworkaddressesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeIDWorkAddressesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeidworkaddressesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody](../models/postv1employeesemployeeidworkaddressesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md index 04d29ebe..3f15857a 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1employeesemployeeuuidsection603highearnerstatusesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `x_gusto_api_version` | [Optional[models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesHeaderXGustoAPIVersion]](../models/postv1employeesemployeeuuidsection603highearnerstatusesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `employee_uuid` | *str* | :heavy_check_mark: | The UUID of the employee | | `body` | [models.EmployeeSection603HighEarnerStatusCreateRequest](../models/employeesection603highearnerstatuscreaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md b/gusto_embedded_v_2026_06_15/docs/models/postv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md index 35edc9df..19350494 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PostV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceHeaderXGustoAPIVersion]](../models/postv1partnermanagedcompaniescompanyuuidtermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PartnerManagedCompanyAcceptTermsOfServiceRequest](../models/partnermanagedcompanyaccepttermsofservicerequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md b/gusto_embedded_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md index 439d74f8..edd47769 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md +++ b/gusto_embedded_v_2026_06_15/docs/models/postv1webhooksubscriptionsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PostV1WebhookSubscriptionSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md index 9be03f3f..00b4b744 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putaddpeopletodepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutAddPeopleToDepartmentHeaderXGustoAPIVersion]](../models/putaddpeopletodepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putdepartmentsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putdepartmentsrequest.md index fff7a201..edd8b60f 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putdepartmentsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putdepartmentsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutDepartmentsHeaderXGustoAPIVersion]](../models/putdepartmentsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `body` | [models.DepartmentUpdateRequestBody](../models/departmentupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md index 10465483..b46ad9fd 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putremovepeoplefromdepartmentrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `x_gusto_api_version` | [Optional[models.PutRemovePeopleFromDepartmentHeaderXGustoAPIVersion]](../models/putremovepeoplefromdepartmentheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `department_uuid` | *str* | :heavy_check_mark: | The UUID of the department | | `body` | [models.DepartmentPeopleRequestBody](../models/departmentpeoplerequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md index 532df2b3..829b6024 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyidfederaltaxdetailsrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | | `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyIDFederalTaxDetailsHeaderXGustoAPIVersion]](../models/putv1companiescompanyidfederaltaxdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | | `body` | [models.FederalTaxDetailsUpdate](../models/federaltaxdetailsupdate.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md index df8383e4..082c8fc4 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidsignatoriessignatoryuuidrequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `signatory_uuid` | *str* | :heavy_check_mark: | The UUID of the signatory | -| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidsignatoriessignatoryuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `body` | [models.SignatoryUpdateRequest](../models/signatoryupdaterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md index d6e69fd5..ba7d60ae 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1companiescompanyuuidtaxrequirementsstaterequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | | `state` | *str* | :heavy_check_mark: | The two-letter state abbreviation | CA | -| `x_gusto_api_version` | [Optional[models.PutV1CompaniesCompanyUUIDTaxRequirementsStateHeaderXGustoAPIVersion]](../models/putv1companiescompanyuuidtaxrequirementsstateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `body` | [models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequestBody](../models/putv1companiescompanyuuidtaxrequirementsstaterequestbody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1companiesrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1companiesrequest.md index dbbbdf00..c672f1e8 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1companiesrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1companiesrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1CompaniesHeaderXGustoAPIVersion]](../models/putv1companiesheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PutV1CompaniesRequestBody](../models/putv1companiesrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1companyindustryrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1companyindustryrequest.md index e3a90dbb..d17c058b 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1companyindustryrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1companyindustryrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1CompanyIndustryHeaderXGustoAPIVersion]](../models/putv1companyindustryheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.CompanyIndustrySelectionRequiredBody](../models/companyindustryselectionrequiredbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md index 747183a5..209812c4 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1contractorpaymentgroupscontractorpaymentgroupidfundrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | -| `x_gusto_api_version` | [Optional[models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundHeaderXGustoAPIVersion]](../models/putv1contractorpaymentgroupscontractorpaymentgroupidfundheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | \ No newline at end of file +| `x_gusto_api_version` | [Optional[models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundHeaderXGustoAPIVersion]](../models/putv1contractorpaymentgroupscontractorpaymentgroupidfundheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `contractor_payment_group_uuid` | *str* | :heavy_check_mark: | The UUID of the contractor payment group | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1jobsjobidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1jobsjobidrequest.md index efab47a7..7c45054b 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1jobsjobidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1jobsjobidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | | `x_gusto_api_version` | [Optional[models.PutV1JobsJobIDHeaderXGustoAPIVersion]](../models/putv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `job_id` | *str* | :heavy_check_mark: | The UUID of the job | | `body` | [models.JobsUpdateRequestBody](../models/jobsupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md index d14af88d..f78a0856 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidmigraterequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1PartnerManagedCompaniesCompanyUUIDMigrateHeaderXGustoAPIVersion]](../models/putv1partnermanagedcompaniescompanyuuidmigrateheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PartnerManagedCompanyMigrateRequest](../models/partnermanagedcompanymigraterequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md index ca95c50c..4d475a55 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1partnermanagedcompaniescompanyuuidtermsofservicerequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `x_gusto_api_version` | [Optional[models.PutV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceHeaderXGustoAPIVersion]](../models/putv1partnermanagedcompaniescompanyuuidtermsofserviceheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | | `body` | [models.PartnerManagedCompanyRetrieveTermsOfServiceRequest](../models/partnermanagedcompanyretrievetermsofservicerequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md index f58c26ec..0a19b2e6 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1verifywebhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1VerifyWebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1verifywebhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `body` | [models.PutV1VerifyWebhookSubscriptionUUIDRequestBody](../models/putv1verifywebhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md index 5c099288..56c0a7ed 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `x_gusto_api_version` | [Optional[models.PutV1WebhookSubscriptionUUIDHeaderXGustoAPIVersion]](../models/putv1webhooksubscriptionuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `webhook_subscription_uuid` | *str* | :heavy_check_mark: | The webhook subscription UUID. | | `body` | [models.PutV1WebhookSubscriptionUUIDRequestBody](../models/putv1webhooksubscriptionuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md b/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md index 1f553621..871dc10c 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1webhooksubscriptionuuidsubscriptiontypes.md @@ -29,4 +29,5 @@ value = PutV1WebhookSubscriptionUUIDSubscriptionTypes.BANK_ACCOUNT | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | | `PEOPLE_BATCH` | PeopleBatch | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md index 68a6e593..3daa2c11 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putv1workaddressesworkaddressuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `x_gusto_api_version` | [Optional[models.PutV1WorkAddressesWorkAddressUUIDHeaderXGustoAPIVersion]](../models/putv1workaddressesworkaddressuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `work_address_uuid` | *str* | :heavy_check_mark: | The UUID of the work address | | `body` | [models.PutV1WorkAddressesWorkAddressUUIDRequestBody](../models/putv1workaddressesworkaddressuuidrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/putwireinrequestswireinrequestuuidrequest.md b/gusto_embedded_v_2026_06_15/docs/models/putwireinrequestswireinrequestuuidrequest.md index ae44c9cc..ab379b8c 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/putwireinrequestswireinrequestuuidrequest.md +++ b/gusto_embedded_v_2026_06_15/docs/models/putwireinrequestswireinrequestuuidrequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | | `x_gusto_api_version` | [Optional[models.PutWireInRequestsWireInRequestUUIDHeaderXGustoAPIVersion]](../models/putwireinrequestswireinrequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `wire_in_request_uuid` | *str* | :heavy_check_mark: | The UUID of the Wire In Request | | `body` | [models.WireInRequestUpdateRequestBody](../models/wireinrequestupdaterequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/subscriptiontypes.md b/gusto_embedded_v_2026_06_15/docs/models/subscriptiontypes.md index ed910d5b..f57d5a44 100644 --- a/gusto_embedded_v_2026_06_15/docs/models/subscriptiontypes.md +++ b/gusto_embedded_v_2026_06_15/docs/models/subscriptiontypes.md @@ -30,4 +30,5 @@ value = SubscriptionTypes.BANK_ACCOUNT | `PAYROLL` | Payroll | | `PAYROLL_SYNC` | PayrollSync | | `PAY_SCHEDULE` | PaySchedule | -| `SIGNATORY` | Signatory | \ No newline at end of file +| `SIGNATORY` | Signatory | +| `TIME_OFF_REQUEST` | TimeOffRequest | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/models/versionheader.md b/gusto_embedded_v_2026_06_15/docs/models/versionheader.md deleted file mode 100644 index b1e84e21..00000000 --- a/gusto_embedded_v_2026_06_15/docs/models/versionheader.md +++ /dev/null @@ -1,16 +0,0 @@ -# VersionHeader - -## Example Usage - -```python -from gusto_embedded_v_2026_06_15.models import VersionHeader - -value = VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 -``` - - -## Values - -| Name | Value | -| ----------------------------------------------- | ----------------------------------------------- | -| `TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15` | 2026-06-15 | \ No newline at end of file diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/companies/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/companies/README.md index 4f9412e4..4d96aee6 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/companies/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/companies/README.md @@ -280,7 +280,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.companies.get_onboarding_status(company_uuid="7b1d0df1-6403-4a06-8768-c1dd7d24d27a", additional_steps="external_payroll", x_gusto_api_version=gusto_embedded_v_2026_06_15.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + res = gusto.companies.get_onboarding_status(company_uuid="7b1d0df1-6403-4a06-8768-c1dd7d24d27a", x_gusto_api_version=gusto_embedded_v_2026_06_15.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, additional_steps="external_payroll") # Handle response print(res) @@ -292,8 +292,8 @@ with Gusto( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company | 7b1d0df1-6403-4a06-8768-c1dd7d24d27a | -| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | | `x_gusto_api_version` | [Optional[models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion]](../../models/getv1companyonboardingstatusheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | +| `additional_steps` | *Optional[str]* | :heavy_minus_sign: | Comma-delimited string of additional onboarding steps to include. Currently only supports the value "external_payroll". | external_payroll | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/contractorpaymentgroups/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/contractorpaymentgroups/README.md index ec0c34a2..32c3d907 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/contractorpaymentgroups/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/contractorpaymentgroups/README.md @@ -131,7 +131,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.contractor_payment_groups.get_list(company_id="", start_date="2020-01-01", end_date="2020-12-31", x_gusto_api_version=gusto_embedded_v_2026_06_15.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + res = gusto.contractor_payment_groups.get_list(company_id="", x_gusto_api_version=gusto_embedded_v_2026_06_15.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, start_date="2020-01-01", end_date="2020-12-31") # Handle response print(res) @@ -143,11 +143,11 @@ with Gusto( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `start_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. | 2020-01-01 | | `end_date` | *Optional[str]* | :heavy_minus_sign: | The time period for which to retrieve contractor payment groups. Defaults to today's date. | 2020-12-31 | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorpaymentgroupsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/contractors/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/contractors/README.md index d8248228..31a03e39 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/contractors/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/contractors/README.md @@ -175,9 +175,9 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `contractor_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. | | `contractor_payment_group_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. | -| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidcontractorspaymentdetailsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -237,9 +237,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## delete_v1_contractors_contractor_uuid_rehire @@ -285,9 +286,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## post_v1_contractors_contractor_uuid_termination @@ -335,9 +337,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## delete_v1_contractors_contractor_uuid_termination @@ -383,9 +386,10 @@ with Gusto( ### Errors -| Error Type | Status Code | Content Type | -| --------------- | --------------- | --------------- | -| models.APIError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| models.UnprocessableEntityError1 | 422 | application/json | +| models.APIError | 4XX, 5XX | \*/\* | ## get diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/employees/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/employees/README.md index 484600d9..bbb816c3 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/employees/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/employees/README.md @@ -48,9 +48,9 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidcustomfieldsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/generateddocuments/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/generateddocuments/README.md index e3127e38..84775c9a 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/generateddocuments/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/generateddocuments/README.md @@ -25,7 +25,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.generated_documents.get(document_type=gusto_embedded_v_2026_06_15.PathParamDocumentType.PRINTABLE_PAYROLL_CHECKS, request_uuid="", x_gusto_api_version=gusto_embedded_v_2026_06_15.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + res = gusto.generated_documents.get(document_type=gusto_embedded_v_2026_06_15.PathParamDocumentType.PRINTABLE_PAYROLL_CHECKS, request_uuid="", x_gusto_api_version=gusto_embedded_v_2026_06_15.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) # Handle response print(res) @@ -38,7 +38,7 @@ with Gusto( | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `document_type` | [models.PathParamDocumentType](../../models/pathparamdocumenttype.md) | :heavy_check_mark: | The type of document being generated | | `request_uuid` | *str* | :heavy_check_mark: | The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint. | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `x_gusto_api_version` | [Optional[models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion]](../../models/getv1generateddocumentsdocumenttyperequestuuidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/jobsandcompensations/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/jobsandcompensations/README.md index 7a2dd0f6..20229962 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/jobsandcompensations/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/jobsandcompensations/README.md @@ -309,8 +309,8 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `job_id` | *str* | :heavy_check_mark: | The UUID of the job | -| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| | `x_gusto_api_version` | [Optional[models.GetV1JobsJobIDHeaderXGustoAPIVersion]](../../models/getv1jobsjobidheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `include` | [Optional[models.GetV1JobsJobIDQueryParamInclude]](../../models/getv1jobsjobidqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -451,10 +451,10 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `employee_id` | *str* | :heavy_check_mark: | The UUID of the employee | +| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | `include` | [Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude]](../../models/getv1employeesemployeeidjobsqueryparaminclude.md) | :heavy_minus_sign: | Available options:
- all_compensations: Include all effective dated compensations for each job instead of only the current compensation
| -| `x_gusto_api_version` | [Optional[models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion]](../../models/getv1employeesemployeeidjobsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/notifications/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/notifications/README.md index ced672af..d6c8cc5e 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/notifications/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/notifications/README.md @@ -38,8 +38,8 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_uuid` | *str* | :heavy_check_mark: | The UUID of the company for which you would like to return notifications | -| `status` | [Optional[models.QueryParamStatus]](../../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | | `x_gusto_api_version` | [Optional[models.GetCompanyNotificationsHeaderXGustoAPIVersion]](../../models/getcompanynotificationsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `status` | [Optional[models.QueryParamStatus]](../../models/queryparamstatus.md) | :heavy_minus_sign: | N/A | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/payrolls/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/payrolls/README.md index daefbca0..4bfcade7 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/payrolls/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/payrolls/README.md @@ -284,7 +284,7 @@ with Gusto( company_access_auth=os.getenv("GUSTO_COMPANY_ACCESS_AUTH", ""), ) as gusto: - res = gusto.payrolls.get_approved_reversals(company_id="", x_gusto_api_version=gusto_embedded_v_2026_06_15.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) + res = gusto.payrolls.get_approved_reversals(company_id="", x_gusto_api_version=gusto_embedded_v_2026_06_15.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15) # Handle response print(res) @@ -296,9 +296,9 @@ with Gusto( | Parameter | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | +| `x_gusto_api_version` | [Optional[models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion]](../../models/getv1companiescompanyidpayrollreversalsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `page` | *Optional[int]* | :heavy_minus_sign: | The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. | | `per` | *Optional[int]* | :heavy_minus_sign: | Number of objects per page. For majority of endpoints will default to 25 | -| `x_gusto_api_version` | [Optional[models.VersionHeader]](../../models/versionheader.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -461,8 +461,8 @@ with Gusto( | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `company_id` | *str* | :heavy_check_mark: | The UUID of the company | | `payroll_id` | *str* | :heavy_check_mark: | The UUID of the payroll | -| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | | `x_gusto_api_version` | [Optional[models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion]](../../models/deletev1companiescompanyidpayrollsheaderxgustoapiversion.md) | :heavy_minus_sign: | Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. | +| `async_` | *Optional[bool]* | :heavy_minus_sign: | When true, request an asynchronous delete of the payroll. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Errors diff --git a/gusto_embedded_v_2026_06_15/docs/sdks/payschedules/README.md b/gusto_embedded_v_2026_06_15/docs/sdks/payschedules/README.md index a5f529f8..8a6e7f38 100644 --- a/gusto_embedded_v_2026_06_15/docs/sdks/payschedules/README.md +++ b/gusto_embedded_v_2026_06_15/docs/sdks/payschedules/README.md @@ -274,6 +274,7 @@ with Gusto( | `day_1` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the "Twice per month" and "Monthly" frequencies. It will be null for pay schedules with other frequencies. | 15 | | `day_2` | *Optional[int]* | :heavy_minus_sign: | An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the "Twice per month" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. | 31 | | `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. | | +| `pay_schedule_uuid` | *Optional[str]* | :heavy_minus_sign: | Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/gusto_embedded_v_2026_06_15/pyproject.toml b/gusto_embedded_v_2026_06_15/pyproject.toml index 25e4fdc3..116a1ede 100644 --- a/gusto_embedded_v_2026_06_15/pyproject.toml +++ b/gusto_embedded_v_2026_06_15/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "gusto_embedded_v_2026_06_15" -version = "0.0.1" +version = "0.0.2" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/_version.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/_version.py index ec2efc05..50f3969d 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/_version.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/_version.py @@ -3,11 +3,11 @@ import importlib.metadata __title__: str = "gusto_embedded_v_2026_06_15" -__version__: str = "0.0.1" +__version__: str = "0.0.2" __openapi_doc_version__: str = "2026-06-15" -__gen_version__: str = "2.892.1" +__gen_version__: str = "2.893.0" __user_agent__: str = ( - "speakeasy-sdk/python 0.0.1 2.892.1 2026-06-15 gusto_embedded_v_2026_06_15" + "speakeasy-sdk/python 0.0.2 2.893.0 2026-06-15 gusto_embedded_v_2026_06_15" ) try: diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/companies.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/companies.py index a27e8329..0e397740 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/companies.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/companies.py @@ -523,8 +523,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -627,8 +627,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -729,8 +729,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -842,8 +842,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.PutV1CompaniesRequestBody( contractor_only=contractor_only, ), @@ -1131,10 +1131,10 @@ def get_onboarding_status( self, *, company_uuid: str, - additional_steps: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion ] = models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + additional_steps: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1150,8 +1150,8 @@ def get_onboarding_status( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company - :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1168,9 +1168,9 @@ def get_onboarding_status( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyOnboardingStatusRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, additional_steps=additional_steps, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1235,10 +1235,10 @@ async def get_onboarding_status_async( self, *, company_uuid: str, - additional_steps: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion ] = models.GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + additional_steps: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1254,8 +1254,8 @@ async def get_onboarding_status_async( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company - :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param additional_steps: Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\". :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1272,9 +1272,9 @@ async def get_onboarding_status_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyOnboardingStatusRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, additional_steps=additional_steps, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -1387,8 +1387,8 @@ def finish_onboarding( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyFinishOnboardingRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -1506,8 +1506,8 @@ async def finish_onboarding_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyFinishOnboardingRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -1624,8 +1624,8 @@ def migrate( base_url = self._get_url(base_url, url_variables) request = models.PutV1PartnerManagedCompaniesCompanyUUIDMigrateRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=utils.get_pydantic_model( body, models.PartnerManagedCompanyMigrateRequest ), @@ -1754,8 +1754,8 @@ async def migrate_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1PartnerManagedCompaniesCompanyUUIDMigrateRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=utils.get_pydantic_model( body, models.PartnerManagedCompanyMigrateRequest ), @@ -2132,8 +2132,8 @@ def get_v1_partner_managed_companies_company_uuid_migration_readiness( request = ( models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) ) @@ -2236,8 +2236,8 @@ async def get_v1_partner_managed_companies_company_uuid_migration_readiness_asyn request = ( models.GetV1PartnerManagedCompaniesCompanyUUIDMigrationReadinessRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) ) @@ -2352,8 +2352,8 @@ def accept_terms_of_service( request = ( models.PostPartnerManagedCompaniesCompanyUUIDAcceptTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyAcceptTermsOfServiceRequest( email=email, ip_address=ip_address, @@ -2478,8 +2478,8 @@ async def accept_terms_of_service_async( request = ( models.PostPartnerManagedCompaniesCompanyUUIDAcceptTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyAcceptTermsOfServiceRequest( email=email, ip_address=ip_address, @@ -2599,8 +2599,8 @@ def retrieve_terms_of_service( request = ( models.PostPartnerManagedCompaniesCompanyUUIDRetrieveTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyRetrieveTermsOfServiceRequest( email=email, ), @@ -2718,8 +2718,8 @@ async def retrieve_terms_of_service_async( request = ( models.PostPartnerManagedCompaniesCompanyUUIDRetrieveTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyRetrieveTermsOfServiceRequest( email=email, ), @@ -2831,8 +2831,8 @@ def get_v1_partner_managed_companies_company_uuid_terms_of_service( base_url = self._get_url(base_url, url_variables) request = models.GetV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -2935,8 +2935,8 @@ async def get_v1_partner_managed_companies_company_uuid_terms_of_service_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -3043,8 +3043,8 @@ def put_v1_partner_managed_companies_company_uuid_terms_of_service( base_url = self._get_url(base_url, url_variables) request = models.PutV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyRetrieveTermsOfServiceRequest( email=email, ), @@ -3166,8 +3166,8 @@ async def put_v1_partner_managed_companies_company_uuid_terms_of_service_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyRetrieveTermsOfServiceRequest( email=email, ), @@ -3289,8 +3289,8 @@ def post_v1_partner_managed_companies_company_uuid_terms_of_service( base_url = self._get_url(base_url, url_variables) request = models.PostV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyAcceptTermsOfServiceRequest( email=email, ip_address=ip_address, @@ -3414,8 +3414,8 @@ async def post_v1_partner_managed_companies_company_uuid_terms_of_service_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1PartnerManagedCompaniesCompanyUUIDTermsOfServiceRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.PartnerManagedCompanyAcceptTermsOfServiceRequest( email=email, ip_address=ip_address, diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractorpaymentgroups.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractorpaymentgroups.py index 30e94102..67914380 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractorpaymentgroups.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractorpaymentgroups.py @@ -327,8 +327,8 @@ def fund( request = ( models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) ) @@ -437,8 +437,8 @@ async def fund_async( request = ( models.PutV1ContractorPaymentGroupsContractorPaymentGroupIDFundRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) ) @@ -509,13 +509,13 @@ def get_list( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, start_date: Optional[str] = None, end_date: Optional[str] = None, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion - ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -530,11 +530,11 @@ def get_list( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param start_date: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. :param end_date: The time period for which to retrieve contractor payment groups. Defaults to today's date. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -551,12 +551,12 @@ def get_list( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorPaymentGroupsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, start_date=start_date, end_date=end_date, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -623,13 +623,13 @@ async def get_list_async( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, start_date: Optional[str] = None, end_date: Optional[str] = None, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion - ] = models.GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -644,11 +644,11 @@ async def get_list_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param start_date: The time period for which to retrieve contractor payment groups. Defaults to 6 months ago. :param end_date: The time period for which to retrieve contractor payment groups. Defaults to today's date. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -665,12 +665,12 @@ async def get_list_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorPaymentGroupsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, start_date=start_date, end_date=end_date, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -1061,8 +1061,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request( @@ -1161,8 +1161,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request_async( @@ -1261,8 +1261,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request( @@ -1366,8 +1366,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorPaymentGroupsContractorPaymentGroupIDRequest( - contractor_payment_group_uuid=contractor_payment_group_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_payment_group_uuid=contractor_payment_group_uuid, ) req = self._build_request_async( @@ -1471,8 +1471,8 @@ def get_v1_contractor_payment_groups_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, ) req = self._build_request( @@ -1573,8 +1573,8 @@ async def get_v1_contractor_payment_groups_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, ) req = self._build_request_async( @@ -1684,8 +1684,8 @@ def patch_v1_contractor_payment_groups_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, body=models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, @@ -1817,8 +1817,8 @@ async def patch_v1_contractor_payment_groups_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequest( - id=id, x_gusto_api_version=x_gusto_api_version, + id=id, body=models.PatchV1ContractorPaymentGroupsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractors.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractors.py index 5c47f15f..78acb930 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractors.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/contractors.py @@ -481,11 +481,11 @@ def get_v1_companies_company_id_contractors_payment_details( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -524,9 +524,9 @@ def get_v1_companies_company_id_contractors_payment_details( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -543,10 +543,10 @@ def get_v1_companies_company_id_contractors_payment_details( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -613,11 +613,11 @@ async def get_v1_companies_company_id_contractors_payment_details_async( self, *, company_id: str, - contractor_uuid: Optional[str] = None, - contractor_payment_group_uuid: Optional[str] = None, x_gusto_api_version: Optional[ models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + contractor_uuid: Optional[str] = None, + contractor_payment_group_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -656,9 +656,9 @@ async def get_v1_companies_company_id_contractors_payment_details_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company. This identifies the company whose contractor payment details you want to retrieve. + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param contractor_uuid: Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor. :param contractor_payment_group_uuid: Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group. - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -675,10 +675,10 @@ async def get_v1_companies_company_id_contractors_payment_details_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, contractor_uuid=contractor_uuid, contractor_payment_group_uuid=contractor_payment_group_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -790,8 +790,8 @@ def post_v1_contractors_contractor_uuid_rehire( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, body=models.PostV1ContractorsContractorUUIDRehireRequestBody( start_date=start_date, ), @@ -807,7 +807,7 @@ def post_v1_contractors_contractor_uuid_rehire( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -845,9 +845,15 @@ def post_v1_contractors_contractor_uuid_rehire( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -905,8 +911,8 @@ async def post_v1_contractors_contractor_uuid_rehire_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, body=models.PostV1ContractorsContractorUUIDRehireRequestBody( start_date=start_date, ), @@ -922,7 +928,7 @@ async def post_v1_contractors_contractor_uuid_rehire_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -960,9 +966,15 @@ async def post_v1_contractors_contractor_uuid_rehire_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1018,8 +1030,8 @@ def delete_v1_contractors_contractor_uuid_rehire( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request( @@ -1032,7 +1044,7 @@ def delete_v1_contractors_contractor_uuid_rehire( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -1063,9 +1075,15 @@ def delete_v1_contractors_contractor_uuid_rehire( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1121,8 +1139,8 @@ async def delete_v1_contractors_contractor_uuid_rehire_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDRehireRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request_async( @@ -1135,7 +1153,7 @@ async def delete_v1_contractors_contractor_uuid_rehire_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -1166,9 +1184,15 @@ async def delete_v1_contractors_contractor_uuid_rehire_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1226,8 +1250,8 @@ def post_v1_contractors_contractor_uuid_termination( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, body=models.PostV1ContractorsContractorUUIDTerminationRequestBody( end_date=end_date, ), @@ -1243,7 +1267,7 @@ def post_v1_contractors_contractor_uuid_termination( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -1281,9 +1305,15 @@ def post_v1_contractors_contractor_uuid_termination( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1341,8 +1371,8 @@ async def post_v1_contractors_contractor_uuid_termination_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, body=models.PostV1ContractorsContractorUUIDTerminationRequestBody( end_date=end_date, ), @@ -1358,7 +1388,7 @@ async def post_v1_contractors_contractor_uuid_termination_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( @@ -1396,9 +1426,15 @@ async def post_v1_contractors_contractor_uuid_termination_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1454,8 +1490,8 @@ def delete_v1_contractors_contractor_uuid_termination( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request( @@ -1468,7 +1504,7 @@ def delete_v1_contractors_contractor_uuid_termination( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -1499,9 +1535,15 @@ def delete_v1_contractors_contractor_uuid_termination( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1557,8 +1599,8 @@ async def delete_v1_contractors_contractor_uuid_termination_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1ContractorsContractorUUIDTerminationRequest( - contractor_uuid=contractor_uuid, x_gusto_api_version=x_gusto_api_version, + contractor_uuid=contractor_uuid, ) req = self._build_request_async( @@ -1571,7 +1613,7 @@ async def delete_v1_contractors_contractor_uuid_termination_async( request_has_path_params=True, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value="*/*", + accept_header_value="application/json", http_headers=http_headers, security=self.sdk_configuration.security, allow_empty_value=None, @@ -1602,9 +1644,15 @@ async def delete_v1_contractors_contractor_uuid_termination_async( retry_config=retry_config, ) + response_data: Any = None if utils.match_response(http_res, "204", "*"): return - if utils.match_response(http_res, ["422", "4XX"], "*"): + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.UnprocessableEntityError1Data, http_res + ) + raise models.UnprocessableEntityError1(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/departments.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/departments.py index 1be22a68..d0528cef 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/departments.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/departments.py @@ -50,8 +50,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -150,8 +150,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -254,8 +254,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -375,8 +375,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutDepartmentsRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentUpdateRequestBody( version=version, title=title, @@ -492,8 +492,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request( @@ -597,8 +597,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, ) req = self._build_request_async( @@ -718,8 +718,8 @@ def add_people( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -853,8 +853,8 @@ async def add_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutAddPeopleToDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -988,8 +988,8 @@ def remove_people( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1123,8 +1123,8 @@ async def remove_people_async( base_url = self._get_url(base_url, url_variables) request = models.PutRemovePeopleFromDepartmentRequest( - department_uuid=department_uuid, x_gusto_api_version=x_gusto_api_version, + department_uuid=department_uuid, body=models.DepartmentPeopleRequestBody( version=version, employees=utils.get_pydantic_model( @@ -1242,8 +1242,8 @@ def get_all( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -1342,8 +1342,8 @@ async def get_all_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -1444,8 +1444,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.DepartmentCreateRequestBody( title=title, ), @@ -1557,8 +1557,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostDepartmentsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.DepartmentCreateRequestBody( title=title, ), diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeeaddresses.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeeaddresses.py index 1dc9d6a5..f0a18e5e 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeeaddresses.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeeaddresses.py @@ -53,8 +53,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -155,8 +155,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -271,8 +271,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -408,8 +408,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDHomeAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDHomeAddressesRequestBody( street_1=street_1, street_2=street_2, @@ -531,8 +531,8 @@ def retrieve_home_address( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request( @@ -633,8 +633,8 @@ async def retrieve_home_address_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1HomeAddressesHomeAddressUUIDRequest( - home_address_uuid=home_address_uuid, x_gusto_api_version=x_gusto_api_version, + home_address_uuid=home_address_uuid, ) req = self._build_request_async( @@ -1224,8 +1224,8 @@ def get_work_addresses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request( @@ -1325,8 +1325,8 @@ async def get_work_addresses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, ) req = self._build_request_async( @@ -1429,8 +1429,8 @@ def create_work_address( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1549,8 +1549,8 @@ async def create_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDWorkAddressesRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.PostV1EmployeesEmployeeIDWorkAddressesRequestBody( location_uuid=location_uuid, effective_date=effective_date, @@ -1665,8 +1665,8 @@ def retrieve_work_address( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -1765,8 +1765,8 @@ async def retrieve_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( @@ -1871,8 +1871,8 @@ def update_work_address( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -1994,8 +1994,8 @@ async def update_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, body=models.PutV1WorkAddressesWorkAddressUUIDRequestBody( version=version, location_uuid=location_uuid, @@ -2111,8 +2111,8 @@ def delete_work_address( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request( @@ -2216,8 +2216,8 @@ async def delete_work_address_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WorkAddressesWorkAddressUUIDRequest( - work_address_uuid=work_address_uuid, x_gusto_api_version=x_gusto_api_version, + work_address_uuid=work_address_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeebenefits.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeebenefits.py index 5353af54..c57fc8fa 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeebenefits.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employeebenefits.py @@ -1896,8 +1896,8 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request( @@ -2001,8 +2001,8 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, ) req = self._build_request_async( @@ -2110,8 +2110,8 @@ def post_v1_employees_employee_uuid_section603_high_earner_statuses( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, body=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2235,8 +2235,8 @@ async def post_v1_employees_employee_uuid_section603_high_earner_statuses_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeUUIDSection603HighEarnerStatusesRequest( - employee_uuid=employee_uuid, x_gusto_api_version=x_gusto_api_version, + employee_uuid=employee_uuid, body=models.EmployeeSection603HighEarnerStatusCreateRequest( effective_year=effective_year, is_high_earner=is_high_earner, @@ -2358,9 +2358,9 @@ def get_v1_employees_employee_uuid_section603_high_earner_statuses_effective_yea base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2471,9 +2471,9 @@ async def get_v1_employees_employee_uuid_section603_high_earner_statuses_effecti base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2586,9 +2586,9 @@ def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effective_y base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, body=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), @@ -2711,9 +2711,9 @@ async def patch_v1_employees_employee_uuid_section603_high_earner_statuses_effec base_url = self._get_url(base_url, url_variables) request = models.PatchV1EmployeesEmployeeUUIDSection603HighEarnerStatusesEffectiveYearRequest( + x_gusto_api_version=x_gusto_api_version, employee_uuid=employee_uuid, effective_year=effective_year, - x_gusto_api_version=x_gusto_api_version, body=models.EmployeeSection603HighEarnerStatusUpdateRequest( is_high_earner=is_high_earner, ), diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employees.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employees.py index 5cfa89e3..0348f59d 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employees.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/employees.py @@ -17,11 +17,11 @@ def get_custom_fields( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -36,9 +36,9 @@ def get_custom_fields( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -55,10 +55,10 @@ def get_custom_fields( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -123,11 +123,11 @@ async def get_custom_fields_async( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -142,9 +142,9 @@ async def get_custom_fields_async( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -161,10 +161,10 @@ async def get_custom_fields_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDCustomFieldsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/federaltaxdetails_sdk.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/federaltaxdetails_sdk.py index 6ee1e8f1..74c03b2d 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/federaltaxdetails_sdk.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/federaltaxdetails_sdk.py @@ -50,8 +50,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -150,8 +150,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -285,8 +285,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.FederalTaxDetailsUpdate( version=version, legal_name=legal_name, @@ -436,8 +436,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyIDFederalTaxDetailsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.FederalTaxDetailsUpdate( version=version, legal_name=legal_name, diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/generateddocuments.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/generateddocuments.py index 330d4f67..09637734 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/generateddocuments.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/generateddocuments.py @@ -18,8 +18,8 @@ def get( document_type: models.PathParamDocumentType, request_uuid: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + ] = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -52,9 +52,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest( + x_gusto_api_version=x_gusto_api_version, document_type=document_type, request_uuid=request_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -121,8 +121,8 @@ async def get_async( document_type: models.PathParamDocumentType, request_uuid: str, x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + ] = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -155,9 +155,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest( + x_gusto_api_version=x_gusto_api_version, document_type=document_type, request_uuid=request_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/industryselection.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/industryselection.py index b899a3f2..2e278747 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/industryselection.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/industryselection.py @@ -50,8 +50,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request( @@ -150,8 +150,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, ) req = self._build_request_async( @@ -262,8 +262,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.CompanyIndustrySelectionRequiredBody( title=title, naics_code=naics_code, @@ -391,8 +391,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompanyIndustryRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.CompanyIndustrySelectionRequiredBody( title=title, naics_code=naics_code, diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/jobsandcompensations.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/jobsandcompensations.py index 0f330750..b6f80d51 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/jobsandcompensations.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/jobsandcompensations.py @@ -1254,10 +1254,10 @@ def get_job( self, *, job_id: str, - include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1JobsJobIDHeaderXGustoAPIVersion ] = models.GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1276,10 +1276,10 @@ def get_job( If set, this operation will use `company_access_auth` from the global security. :param job_id: The UUID of the job + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1296,9 +1296,9 @@ def get_job( base_url = self._get_url(base_url, url_variables) request = models.GetV1JobsJobIDRequest( + x_gusto_api_version=x_gusto_api_version, job_id=job_id, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1363,10 +1363,10 @@ async def get_job_async( self, *, job_id: str, - include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1JobsJobIDHeaderXGustoAPIVersion ] = models.GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + include: Optional[models.GetV1JobsJobIDQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1385,10 +1385,10 @@ async def get_job_async( If set, this operation will use `company_access_auth` from the global security. :param job_id: The UUID of the job + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1405,9 +1405,9 @@ async def get_job_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1JobsJobIDRequest( + x_gusto_api_version=x_gusto_api_version, job_id=job_id, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -1518,8 +1518,8 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, body=models.JobsUpdateRequestBody( version=version, title=title, @@ -1646,8 +1646,8 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, body=models.JobsUpdateRequestBody( version=version, title=title, @@ -1762,8 +1762,8 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, ) req = self._build_request( @@ -1867,8 +1867,8 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1JobsJobIDRequest( - job_id=job_id, x_gusto_api_version=x_gusto_api_version, + job_id=job_id, ) req = self._build_request_async( @@ -1938,12 +1938,12 @@ def get_jobs( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, - include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, + include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1961,12 +1961,12 @@ def get_jobs( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1983,11 +1983,11 @@ def get_jobs( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDJobsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -2052,12 +2052,12 @@ async def get_jobs_async( self, *, employee_id: str, - page: Optional[int] = None, - per: Optional[int] = None, - include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, x_gusto_api_version: Optional[ models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion ] = models.GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + page: Optional[int] = None, + per: Optional[int] = None, + include: Optional[models.GetV1EmployeesEmployeeIDJobsQueryParamInclude] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2075,12 +2075,12 @@ async def get_jobs_async( If set, this operation will use `company_access_auth` from the global security. :param employee_id: The UUID of the employee + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param include: Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2097,11 +2097,11 @@ async def get_jobs_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1EmployeesEmployeeIDJobsRequest( + x_gusto_api_version=x_gusto_api_version, employee_id=employee_id, page=page, per=per, include=include, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2210,8 +2210,8 @@ def create_job( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDJobsRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.JobsCreateRequestBody( title=title, hire_date=hire_date, @@ -2335,8 +2335,8 @@ async def create_job_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1EmployeesEmployeeIDJobsRequest( - employee_id=employee_id, x_gusto_api_version=x_gusto_api_version, + employee_id=employee_id, body=models.JobsCreateRequestBody( title=title, hire_date=hire_date, diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/locations.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/locations.py index 6b7a194d..14551675 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/locations.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/locations.py @@ -52,8 +52,8 @@ def get_minimum_wages( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) @@ -155,8 +155,8 @@ async def get_minimum_wages_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1LocationsLocationUUIDMinimumWagesRequest( - location_uuid=location_uuid, x_gusto_api_version=x_gusto_api_version, + location_uuid=location_uuid, effective_date=effective_date, ) diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/__init__.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/__init__.py index 88717fb1..6f72c8d5 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/__init__.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/__init__.py @@ -720,10 +720,14 @@ EmployeeOnboardingDocumentsConfigRequestTypedDict, ) from .employee_onboarding_status import ( + Blockers, + BlockersTypedDict, EmployeeOnboardingStatus, + EmployeeOnboardingStatusCategory, EmployeeOnboardingStatusOnboardingStep, EmployeeOnboardingStatusOnboardingStepTypedDict, EmployeeOnboardingStatusTypedDict, + FieldT, ) from .employee_pay_stubs_list import ( EmployeePayStubsList, @@ -1120,6 +1124,7 @@ GetV1CompaniesCompanyIDPaySchedulesRequestTypedDict, ) from .get_v1_companies_company_id_payroll_reversalsop import ( + GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion, GetV1CompaniesCompanyIDPayrollReversalsRequest, GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict, ) @@ -1497,6 +1502,7 @@ GetV1GarnishmentsGarnishmentIDRequestTypedDict, ) from .get_v1_generated_documents_document_type_request_uuidop import ( + GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion, GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest, GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict, PathParamDocumentType, @@ -2056,11 +2062,11 @@ PayrollDigestConflictErrorMetadataTypedDict, ) from .payroll_digest_results import ( - Blockers, - BlockersTypedDict, PaySchedule, PayScheduleTypedDict, PayrollDigestResults, + PayrollDigestResultsBlockers, + PayrollDigestResultsBlockersTypedDict, PayrollDigestResultsCategory, PayrollDigestResultsEntityType, PayrollDigestResultsExclusions, @@ -3302,7 +3308,6 @@ UpdateGarnishmentRequestGarnishmentType, UpdateGarnishmentRequestTypedDict, ) - from .versionheader import VersionHeader from .webhook_subscription import ( SubscriptionTypes, WebhookSubscription, @@ -3830,6 +3835,7 @@ "EmployeeOnboardingDocumentsConfigRequestTypedDict", "EmployeeOnboardingStatus", "EmployeeOnboardingStatus1", + "EmployeeOnboardingStatusCategory", "EmployeeOnboardingStatusOnboardingStep", "EmployeeOnboardingStatusOnboardingStepTypedDict", "EmployeeOnboardingStatusTypedDict", @@ -3930,6 +3936,7 @@ "FederalTaxDetailsUpdateFilingForm", "FederalTaxDetailsUpdateTaxPayerType", "FederalTaxDetailsUpdateTypedDict", + "FieldT", "Fields", "FieldsTypedDict", "FileType", @@ -4097,6 +4104,7 @@ "GetV1CompaniesCompanyIDPaySchedulesPreviewRequestTypedDict", "GetV1CompaniesCompanyIDPaySchedulesRequest", "GetV1CompaniesCompanyIDPaySchedulesRequestTypedDict", + "GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion", "GetV1CompaniesCompanyIDPayrollReversalsRequest", "GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict", "GetV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion", @@ -4322,6 +4330,7 @@ "GetV1GarnishmentsGarnishmentIDHeaderXGustoAPIVersion", "GetV1GarnishmentsGarnishmentIDRequest", "GetV1GarnishmentsGarnishmentIDRequestTypedDict", + "GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict", "GetV1HomeAddressesHomeAddressUUIDHeaderXGustoAPIVersion", @@ -4726,6 +4735,8 @@ "PayrollDigestConflictErrorMetadata", "PayrollDigestConflictErrorMetadataTypedDict", "PayrollDigestResults", + "PayrollDigestResultsBlockers", + "PayrollDigestResultsBlockersTypedDict", "PayrollDigestResultsCategory", "PayrollDigestResultsEntityType", "PayrollDigestResultsExclusions", @@ -5675,7 +5686,6 @@ "ValueTypedDict", "VerificationStatus", "VerificationType", - "VersionHeader", "VeteransDay", "VeteransDayTypedDict", "WageType", @@ -6228,10 +6238,14 @@ "EmployeeOnboardingDocumentTypedDict": ".employee_onboarding_document", "EmployeeOnboardingDocumentsConfigRequest": ".employee_onboarding_documents_config_request", "EmployeeOnboardingDocumentsConfigRequestTypedDict": ".employee_onboarding_documents_config_request", + "Blockers": ".employee_onboarding_status", + "BlockersTypedDict": ".employee_onboarding_status", "EmployeeOnboardingStatus": ".employee_onboarding_status", + "EmployeeOnboardingStatusCategory": ".employee_onboarding_status", "EmployeeOnboardingStatusOnboardingStep": ".employee_onboarding_status", "EmployeeOnboardingStatusOnboardingStepTypedDict": ".employee_onboarding_status", "EmployeeOnboardingStatusTypedDict": ".employee_onboarding_status", + "FieldT": ".employee_onboarding_status", "EmployeePayStubsList": ".employee_pay_stubs_list", "EmployeePayStubsListPaymentMethod": ".employee_pay_stubs_list", "EmployeePayStubsListTypedDict": ".employee_pay_stubs_list", @@ -6501,6 +6515,7 @@ "GetV1CompaniesCompanyIDPaySchedulesHeaderXGustoAPIVersion": ".get_v1_companies_company_id_pay_schedulesop", "GetV1CompaniesCompanyIDPaySchedulesRequest": ".get_v1_companies_company_id_pay_schedulesop", "GetV1CompaniesCompanyIDPaySchedulesRequestTypedDict": ".get_v1_companies_company_id_pay_schedulesop", + "GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion": ".get_v1_companies_company_id_payroll_reversalsop", "GetV1CompaniesCompanyIDPayrollReversalsRequest": ".get_v1_companies_company_id_payroll_reversalsop", "GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict": ".get_v1_companies_company_id_payroll_reversalsop", "GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsHeaderXGustoAPIVersion": ".get_v1_companies_company_id_payrolls_id_partner_disbursementsop", @@ -6732,6 +6747,7 @@ "GetV1GarnishmentsGarnishmentIDHeaderXGustoAPIVersion": ".get_v1_garnishments_garnishment_idop", "GetV1GarnishmentsGarnishmentIDRequest": ".get_v1_garnishments_garnishment_idop", "GetV1GarnishmentsGarnishmentIDRequestTypedDict": ".get_v1_garnishments_garnishment_idop", + "GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion": ".get_v1_generated_documents_document_type_request_uuidop", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest": ".get_v1_generated_documents_document_type_request_uuidop", "GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict": ".get_v1_generated_documents_document_type_request_uuidop", "PathParamDocumentType": ".get_v1_generated_documents_document_type_request_uuidop", @@ -7134,11 +7150,11 @@ "PayrollDigestConflictErrorErrorsTypedDict": ".payroll_digest_conflict_error", "PayrollDigestConflictErrorMetadata": ".payroll_digest_conflict_error", "PayrollDigestConflictErrorMetadataTypedDict": ".payroll_digest_conflict_error", - "Blockers": ".payroll_digest_results", - "BlockersTypedDict": ".payroll_digest_results", "PaySchedule": ".payroll_digest_results", "PayScheduleTypedDict": ".payroll_digest_results", "PayrollDigestResults": ".payroll_digest_results", + "PayrollDigestResultsBlockers": ".payroll_digest_results", + "PayrollDigestResultsBlockersTypedDict": ".payroll_digest_results", "PayrollDigestResultsCategory": ".payroll_digest_results", "PayrollDigestResultsEntityType": ".payroll_digest_results", "PayrollDigestResultsExclusions": ".payroll_digest_results", @@ -8048,7 +8064,6 @@ "UpdateGarnishmentRequest": ".update_garnishment_request", "UpdateGarnishmentRequestGarnishmentType": ".update_garnishment_request", "UpdateGarnishmentRequestTypedDict": ".update_garnishment_request", - "VersionHeader": ".versionheader", "SubscriptionTypes": ".webhook_subscription", "WebhookSubscription": ".webhook_subscription", "WebhookSubscriptionStatus": ".webhook_subscription", diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/delete_v1_companies_company_id_payrollsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/delete_v1_companies_company_id_payrollsop.py index 50719a13..94c52df7 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/delete_v1_companies_company_id_payrollsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/delete_v1_companies_company_id_payrollsop.py @@ -26,12 +26,12 @@ class DeleteV1CompaniesCompanyIDPayrollsRequestTypedDict(TypedDict): r"""The UUID of the company""" payroll_id: str r"""The UUID of the payroll""" - async_: NotRequired[bool] - r"""When true, request an asynchronous delete of the payroll.""" x_gusto_api_version: NotRequired[ DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + async_: NotRequired[bool] + r"""When true, request an asynchronous delete of the payroll.""" class DeleteV1CompaniesCompanyIDPayrollsRequest(BaseModel): @@ -45,13 +45,6 @@ class DeleteV1CompaniesCompanyIDPayrollsRequest(BaseModel): ] r"""The UUID of the payroll""" - async_: Annotated[ - Optional[bool], - pydantic.Field(alias="async"), - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - r"""When true, request an asynchronous delete of the payroll.""" - x_gusto_api_version: Annotated[ Optional[DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -59,9 +52,16 @@ class DeleteV1CompaniesCompanyIDPayrollsRequest(BaseModel): ] = DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + async_: Annotated[ + Optional[bool], + pydantic.Field(alias="async"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""When true, request an asynchronous delete of the payroll.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["async", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "async"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/employee_onboarding_status.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/employee_onboarding_status.py index c9ce1ce2..ae47a597 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/employee_onboarding_status.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/employee_onboarding_status.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from enum import Enum from gusto_embedded_v_2026_06_15.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer from typing import List, Optional @@ -53,6 +54,54 @@ def serialize_model(self, handler): return m +class FieldT(str, Enum): + r"""The employee field affected.""" + + SSN = "ssn" + + +class EmployeeOnboardingStatusCategory(str, Enum): + r"""Category of the blocker. See the array-level description for resolution guidance.""" + + DUPLICATE_VALUE = "duplicate_value" + + +class BlockersTypedDict(TypedDict): + field: NotRequired[FieldT] + r"""The employee field affected.""" + category: NotRequired[EmployeeOnboardingStatusCategory] + r"""Category of the blocker. See the array-level description for resolution guidance.""" + message: NotRequired[str] + r"""Human-readable description of the blocker.""" + + +class Blockers(BaseModel): + field: Optional[FieldT] = None + r"""The employee field affected.""" + + category: Optional[EmployeeOnboardingStatusCategory] = None + r"""Category of the blocker. See the array-level description for resolution guidance.""" + + message: Optional[str] = None + r"""Human-readable description of the blocker.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["field", "category", "message"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class EmployeeOnboardingStatusTypedDict(TypedDict): r"""The representation of an employee's onboarding status.""" @@ -62,6 +111,16 @@ class EmployeeOnboardingStatusTypedDict(TypedDict): r"""One of the \"onboarding_status\" enum values.""" onboarding_steps: NotRequired[List[EmployeeOnboardingStatusOnboardingStepTypedDict]] r"""List of steps required to onboard an employee.""" + blockers: NotRequired[List[BlockersTypedDict]] + r"""Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message. + + Supported categories: + + - `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict. + + This list may grow over time as new validation rules are added. + + """ class EmployeeOnboardingStatus(BaseModel): @@ -76,9 +135,20 @@ class EmployeeOnboardingStatus(BaseModel): onboarding_steps: Optional[List[EmployeeOnboardingStatusOnboardingStep]] = None r"""List of steps required to onboard an employee.""" + blockers: Optional[List[Blockers]] = None + r"""Validation issues that should be resolved before this employee's onboarding is complete. Each entry identifies an affected field, a category describing the type of problem, and a human-readable message. + + Supported categories: + + - `duplicate_value`: Another employee in the same company already has this value. To resolve, cancel this onboarding and initiate a rehire if it's a returning employee, or contact support to investigate the conflict. + + This list may grow over time as new validation rules are added. + + """ + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["onboarding_status", "onboarding_steps"]) + optional_fields = set(["onboarding_status", "onboarding_steps", "blockers"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_company_notificationsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_company_notificationsop.py index 401aadb2..2eedf01b 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_company_notificationsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_company_notificationsop.py @@ -15,24 +15,24 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class QueryParamStatus(str, Enum): - OPEN = "open" - EXPIRED = "expired" - RESOLVED = "resolved" - - class GetCompanyNotificationsHeaderXGustoAPIVersion(str, Enum): r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" +class QueryParamStatus(str, Enum): + OPEN = "open" + EXPIRED = "expired" + RESOLVED = "resolved" + + class GetCompanyNotificationsRequestTypedDict(TypedDict): company_uuid: str r"""The UUID of the company for which you would like to return notifications""" - status: NotRequired[QueryParamStatus] x_gusto_api_version: NotRequired[GetCompanyNotificationsHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: NotRequired[QueryParamStatus] page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] @@ -45,11 +45,6 @@ class GetCompanyNotificationsRequest(BaseModel): ] r"""The UUID of the company for which you would like to return notifications""" - status: Annotated[ - Optional[QueryParamStatus], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - x_gusto_api_version: Annotated[ Optional[GetCompanyNotificationsHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -57,6 +52,11 @@ class GetCompanyNotificationsRequest(BaseModel): ] = GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + status: Annotated[ + Optional[QueryParamStatus], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -71,7 +71,7 @@ class GetCompanyNotificationsRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["status", "X-Gusto-API-Version", "page", "per"]) + optional_fields = set(["X-Gusto-API-Version", "status", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractor_payment_groupsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractor_payment_groupsop.py index b27a9d87..b8ac4878 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractor_payment_groupsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractor_payment_groupsop.py @@ -24,6 +24,10 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion(str, class GetV1CompaniesCompanyIDContractorPaymentGroupsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company""" + x_gusto_api_version: NotRequired[ + GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion + ] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" start_date: NotRequired[str] r"""The time period for which to retrieve contractor payment groups. Defaults to 6 months ago.""" end_date: NotRequired[str] @@ -32,10 +36,6 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsRequestTypedDict(TypedDict): r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: NotRequired[ - GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion - ] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1CompaniesCompanyIDContractorPaymentGroupsRequest(BaseModel): @@ -44,6 +44,13 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsRequest(BaseModel): ] r"""The UUID of the company""" + x_gusto_api_version: Annotated[ + Optional[GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + start_date: Annotated[ Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -68,17 +75,10 @@ class GetV1CompaniesCompanyIDContractorPaymentGroupsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1CompaniesCompanyIDContractorPaymentGroupsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["start_date", "end_date", "page", "per", "X-Gusto-API-Version"] + ["X-Gusto-API-Version", "start_date", "end_date", "page", "per"] ) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py index cd45ccb9..198d2010 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_contractors_payment_detailsop.py @@ -24,14 +24,14 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion(str class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" - contractor_uuid: NotRequired[str] - r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" - contractor_payment_group_uuid: NotRequired[str] - r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" x_gusto_api_version: NotRequired[ GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: NotRequired[str] + r"""Optional filter to get payment details for a specific contractor. When provided, the response will only include payment details for this contractor.""" + contractor_payment_group_uuid: NotRequired[str] + r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): @@ -40,6 +40,15 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] r"""The UUID of the company. This identifies the company whose contractor payment details you want to retrieve.""" + x_gusto_api_version: Annotated[ + Optional[ + GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion + ], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + contractor_uuid: Annotated[ Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,19 +61,10 @@ class GetV1CompaniesCompanyIDContractorsPaymentDetailsRequest(BaseModel): ] = None r"""Optional filter to get payment details for contractors in a specific payment group. When provided, the response will only include payment details for contractors in this group.""" - x_gusto_api_version: Annotated[ - Optional[ - GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion - ], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1CompaniesCompanyIDContractorsPaymentDetailsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["contractor_uuid", "contractor_payment_group_uuid", "X-Gusto-API-Version"] + ["X-Gusto-API-Version", "contractor_uuid", "contractor_payment_group_uuid"] ) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_pay_schedules_previewop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_pay_schedules_previewop.py index ab0298ce..026a0a6f 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_pay_schedules_previewop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_pay_schedules_previewop.py @@ -50,6 +50,8 @@ class GetV1CompaniesCompanyIDPaySchedulesPreviewRequestTypedDict(TypedDict): r"""An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the \"Twice per month\" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies.""" end_date: NotRequired[date] r"""End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today.""" + pay_schedule_uuid: NotRequired[str] + r"""Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule.""" class GetV1CompaniesCompanyIDPaySchedulesPreviewRequest(BaseModel): @@ -99,9 +101,17 @@ class GetV1CompaniesCompanyIDPaySchedulesPreviewRequest(BaseModel): ] = None r"""End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today.""" + pay_schedule_uuid: Annotated[ + Optional[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["X-Gusto-API-Version", "day_1", "day_2", "end_date"]) + optional_fields = set( + ["X-Gusto-API-Version", "day_1", "day_2", "end_date", "pay_schedule_uuid"] + ) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_payroll_reversalsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_payroll_reversalsop.py index 5f2e544b..e84d0f78 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_payroll_reversalsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_companies_company_id_payroll_reversalsop.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .versionheader import VersionHeader +from enum import Enum from gusto_embedded_v_2026_06_15.types import BaseModel, UNSET_SENTINEL from gusto_embedded_v_2026_06_15.utils import ( FieldMetadata, @@ -15,15 +15,23 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" + + class GetV1CompaniesCompanyIDPayrollReversalsRequestTypedDict(TypedDict): company_id: str r"""The UUID of the company""" + x_gusto_api_version: NotRequired[ + GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + ] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: NotRequired[VersionHeader] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1CompaniesCompanyIDPayrollReversalsRequest(BaseModel): @@ -32,6 +40,13 @@ class GetV1CompaniesCompanyIDPayrollReversalsRequest(BaseModel): ] r"""The UUID of the company""" + x_gusto_api_version: Annotated[ + Optional[GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -44,16 +59,9 @@ class GetV1CompaniesCompanyIDPayrollReversalsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[VersionHeader], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_company_onboarding_statusop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_company_onboarding_statusop.py index 3fd8a9e1..21f742be 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_company_onboarding_statusop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_company_onboarding_statusop.py @@ -24,10 +24,10 @@ class GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion(str, Enum): class GetV1CompanyOnboardingStatusRequestTypedDict(TypedDict): company_uuid: str r"""The UUID of the company""" - additional_steps: NotRequired[str] - r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" x_gusto_api_version: NotRequired[GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + additional_steps: NotRequired[str] + r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" class GetV1CompanyOnboardingStatusRequest(BaseModel): @@ -36,12 +36,6 @@ class GetV1CompanyOnboardingStatusRequest(BaseModel): ] r"""The UUID of the company""" - additional_steps: Annotated[ - Optional[str], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" - x_gusto_api_version: Annotated[ Optional[GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), @@ -49,9 +43,15 @@ class GetV1CompanyOnboardingStatusRequest(BaseModel): ] = GetV1CompanyOnboardingStatusHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + additional_steps: Annotated[ + Optional[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Comma-delimited string of additional onboarding steps to include. Currently only supports the value \"external_payroll\".""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["additional_steps", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "additional_steps"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py index a04b17c3..66ecdd79 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_custom_fieldsop.py @@ -24,14 +24,14 @@ class GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion(str, Enum): class GetV1EmployeesEmployeeIDCustomFieldsRequestTypedDict(TypedDict): employee_id: str r"""The UUID of the employee""" - page: NotRequired[int] - r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" - per: NotRequired[int] - r"""Number of objects per page. For majority of endpoints will default to 25""" x_gusto_api_version: NotRequired[ GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: NotRequired[int] + r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" + per: NotRequired[int] + r"""Number of objects per page. For majority of endpoints will default to 25""" class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): @@ -40,6 +40,13 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] r"""The UUID of the employee""" + x_gusto_api_version: Annotated[ + Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -52,16 +59,9 @@ class GetV1EmployeesEmployeeIDCustomFieldsRequest(BaseModel): ] = None r"""Number of objects per page. For majority of endpoints will default to 25""" - x_gusto_api_version: Annotated[ - Optional[GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1EmployeesEmployeeIDCustomFieldsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_jobsop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_jobsop.py index f5964802..ad860486 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_jobsop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_employees_employee_id_jobsop.py @@ -15,6 +15,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" + + class GetV1EmployeesEmployeeIDJobsQueryParamInclude(str, Enum): r"""Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation @@ -24,15 +30,11 @@ class GetV1EmployeesEmployeeIDJobsQueryParamInclude(str, Enum): ALL_COMPENSATIONS = "all_compensations" -class GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion(str, Enum): - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - - TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" - - class GetV1EmployeesEmployeeIDJobsRequestTypedDict(TypedDict): employee_id: str r"""The UUID of the employee""" + x_gusto_api_version: NotRequired[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" page: NotRequired[int] r"""The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.""" per: NotRequired[int] @@ -42,8 +44,6 @@ class GetV1EmployeesEmployeeIDJobsRequestTypedDict(TypedDict): - all_compensations: Include all effective dated compensations for each job instead of only the current compensation """ - x_gusto_api_version: NotRequired[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1EmployeesEmployeeIDJobsRequest(BaseModel): @@ -52,6 +52,13 @@ class GetV1EmployeesEmployeeIDJobsRequest(BaseModel): ] r"""The UUID of the employee""" + x_gusto_api_version: Annotated[ + Optional[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -73,16 +80,9 @@ class GetV1EmployeesEmployeeIDJobsRequest(BaseModel): """ - x_gusto_api_version: Annotated[ - Optional[GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1EmployeesEmployeeIDJobsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["page", "per", "include", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "page", "per", "include"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_generated_documents_document_type_request_uuidop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_generated_documents_document_type_request_uuidop.py index f88bc65f..30df3961 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_generated_documents_document_type_request_uuidop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_generated_documents_document_type_request_uuidop.py @@ -1,7 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .versionheader import VersionHeader from enum import Enum from gusto_embedded_v_2026_06_15.types import BaseModel, UNSET_SENTINEL from gusto_embedded_v_2026_06_15.utils import ( @@ -15,6 +14,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" + + class PathParamDocumentType(str, Enum): r"""The type of document being generated""" @@ -26,7 +31,9 @@ class GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequestTypedDict(TypedDict): r"""The type of document being generated""" request_uuid: str r"""The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint.""" - x_gusto_api_version: NotRequired[VersionHeader] + x_gusto_api_version: NotRequired[ + GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion + ] r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @@ -43,10 +50,10 @@ class GetV1GeneratedDocumentsDocumentTypeRequestUUIDRequest(BaseModel): r"""The UUID of the request to generate a document. Generate document endpoints return request_uuids to be used with the GET generated document endpoint.""" x_gusto_api_version: Annotated[ - Optional[VersionHeader], + Optional[GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion], pydantic.Field(alias="X-Gusto-API-Version"), FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + ] = GetV1GeneratedDocumentsDocumentTypeRequestUUIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" @model_serializer(mode="wrap") diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_jobs_job_idop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_jobs_job_idop.py index 87d6e525..b2b21284 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_jobs_job_idop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/get_v1_jobs_job_idop.py @@ -15,6 +15,12 @@ from typing_extensions import Annotated, NotRequired, TypedDict +class GetV1JobsJobIDHeaderXGustoAPIVersion(str, Enum): + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + + TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" + + class GetV1JobsJobIDQueryParamInclude(str, Enum): r"""Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation @@ -24,22 +30,16 @@ class GetV1JobsJobIDQueryParamInclude(str, Enum): ALL_COMPENSATIONS = "all_compensations" -class GetV1JobsJobIDHeaderXGustoAPIVersion(str, Enum): - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - - TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" - - class GetV1JobsJobIDRequestTypedDict(TypedDict): job_id: str r"""The UUID of the job""" + x_gusto_api_version: NotRequired[GetV1JobsJobIDHeaderXGustoAPIVersion] + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" include: NotRequired[GetV1JobsJobIDQueryParamInclude] r"""Available options: - all_compensations: Include all effective dated compensations for each job instead of only the current compensation """ - x_gusto_api_version: NotRequired[GetV1JobsJobIDHeaderXGustoAPIVersion] - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" class GetV1JobsJobIDRequest(BaseModel): @@ -48,6 +48,13 @@ class GetV1JobsJobIDRequest(BaseModel): ] r"""The UUID of the job""" + x_gusto_api_version: Annotated[ + Optional[GetV1JobsJobIDHeaderXGustoAPIVersion], + pydantic.Field(alias="X-Gusto-API-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 + r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" + include: Annotated[ Optional[GetV1JobsJobIDQueryParamInclude], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -57,16 +64,9 @@ class GetV1JobsJobIDRequest(BaseModel): """ - x_gusto_api_version: Annotated[ - Optional[GetV1JobsJobIDHeaderXGustoAPIVersion], - pydantic.Field(alias="X-Gusto-API-Version"), - FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), - ] = GetV1JobsJobIDHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 - r"""Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used.""" - @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["include", "X-Gusto-API-Version"]) + optional_fields = set(["X-Gusto-API-Version", "include"]) serialized = handler(self) m = {} diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/payroll_digest_results.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/payroll_digest_results.py index 629c3e90..6ae55348 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/payroll_digest_results.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/payroll_digest_results.py @@ -39,14 +39,14 @@ class PayrollDigestResultsResultsStatus(str, Enum, metaclass=utils.OpenEnumMeta) FAILED = "failed" -class BlockersTypedDict(TypedDict): +class PayrollDigestResultsBlockersTypedDict(TypedDict): type: NotRequired[str] r"""A machine-readable blocker key (e.g. `missing_bank_account`).""" description: NotRequired[str] r"""Human-readable description of the blocker.""" -class Blockers(BaseModel): +class PayrollDigestResultsBlockers(BaseModel): type: Optional[str] = None r"""A machine-readable blocker key (e.g. `missing_bank_account`).""" @@ -297,7 +297,7 @@ class PayrollDigestResultsResultsTypedDict(TypedDict): r"""The legal/display name of the company.""" status: NotRequired[PayrollDigestResultsResultsStatus] r"""The status of this company's digest computation.""" - blockers: NotRequired[List[BlockersTypedDict]] + blockers: NotRequired[List[PayrollDigestResultsBlockersTypedDict]] r"""Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers.""" payrolls: NotRequired[List[PayrollsModelTypedDict]] r"""Payrolls for this company within the digest date window (7 days past, 30–60 days future). May be empty.""" @@ -319,7 +319,7 @@ class PayrollDigestResultsResults(BaseModel): status: Optional[PayrollDigestResultsResultsStatus] = None r"""The status of this company's digest computation.""" - blockers: Optional[List[Blockers]] = None + blockers: Optional[List[PayrollDigestResultsBlockers]] = None r"""Reasons the company cannot currently run payroll. Applies to every payroll in this company's `payrolls` array — blockers are evaluated at the company level, not per payroll. Empty when there are no blockers.""" payrolls: Optional[List[PayrollsModel]] = None diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/post_v1_webhook_subscriptionop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/post_v1_webhook_subscriptionop.py index fd7dbaa7..de7ce72e 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/post_v1_webhook_subscriptionop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/post_v1_webhook_subscriptionop.py @@ -57,6 +57,7 @@ class PostV1WebhookSubscriptionSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PostV1WebhookSubscriptionRequestBodyTypedDict(TypedDict): diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py index 8dbb92a5..289a0a68 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/put_v1_webhook_subscription_uuidop.py @@ -58,6 +58,7 @@ class PutV1WebhookSubscriptionUUIDSubscriptionTypes(str, Enum): PAY_SCHEDULE = "PaySchedule" PEOPLE_BATCH = "PeopleBatch" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class PutV1WebhookSubscriptionUUIDRequestBodyTypedDict(TypedDict): diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/versionheader.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/versionheader.py deleted file mode 100644 index 39bb6cb7..00000000 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/versionheader.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - - -class VersionHeader(str, Enum): - TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15 = "2026-06-15" diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/webhook_subscription.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/webhook_subscription.py index 646f4b49..5cd6b5c6 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/webhook_subscription.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/models/webhook_subscription.py @@ -35,6 +35,7 @@ class SubscriptionTypes(str, Enum, metaclass=utils.OpenEnumMeta): PAYROLL_SYNC = "PayrollSync" PAY_SCHEDULE = "PaySchedule" SIGNATORY = "Signatory" + TIME_OFF_REQUEST = "TimeOffRequest" class WebhookSubscriptionTypedDict(TypedDict): diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/notifications.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/notifications.py index 9a0a125a..416515f6 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/notifications.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/notifications.py @@ -16,10 +16,10 @@ def get_company_notifications( self, *, company_uuid: str, - status: Optional[models.QueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + status: Optional[models.QueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -36,8 +36,8 @@ def get_company_notifications( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -56,9 +56,9 @@ def get_company_notifications( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) @@ -119,10 +119,10 @@ async def get_company_notifications_async( self, *, company_uuid: str, - status: Optional[models.QueryParamStatus] = None, x_gusto_api_version: Optional[ models.GetCompanyNotificationsHeaderXGustoAPIVersion ] = models.GetCompanyNotificationsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + status: Optional[models.QueryParamStatus] = None, page: Optional[int] = None, per: Optional[int] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -139,8 +139,8 @@ async def get_company_notifications_async( If set, this operation will use `company_access_auth` from the global security. :param company_uuid: The UUID of the company for which you would like to return notifications - :param status: :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param status: :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 :param retries: Override the default retry configuration for this method @@ -159,9 +159,9 @@ async def get_company_notifications_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompanyNotificationsRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, status=status, - x_gusto_api_version=x_gusto_api_version, page=page, per=per, ) @@ -260,8 +260,8 @@ def get_details( base_url = self._get_url(base_url, url_variables) request = models.GetNotificationsNotificationUUIDRequest( - notification_uuid=notification_uuid, x_gusto_api_version=x_gusto_api_version, + notification_uuid=notification_uuid, ) req = self._build_request( @@ -369,8 +369,8 @@ async def get_details_async( base_url = self._get_url(base_url, url_variables) request = models.GetNotificationsNotificationUUIDRequest( - notification_uuid=notification_uuid, x_gusto_api_version=x_gusto_api_version, + notification_uuid=notification_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payroll_digests.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payroll_digests.py index 808e6d7a..ab4914b3 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payroll_digests.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payroll_digests.py @@ -333,8 +333,8 @@ def get_v1_payroll_digests_payroll_digest_uuid( base_url = self._get_url(base_url, url_variables) request = models.GetV1PayrollDigestsPayrollDigestUUIDRequest( - payroll_digest_uuid=payroll_digest_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_digest_uuid=payroll_digest_uuid, ) req = self._build_request( @@ -445,8 +445,8 @@ async def get_v1_payroll_digests_payroll_digest_uuid_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PayrollDigestsPayrollDigestUUIDRequest( - payroll_digest_uuid=payroll_digest_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_digest_uuid=payroll_digest_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payrolls.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payrolls.py index a6f751db..e18a89dd 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payrolls.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payrolls.py @@ -714,9 +714,9 @@ def get_v1_companies_company_id_payrolls_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -817,9 +817,9 @@ async def get_v1_companies_company_id_payrolls_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -929,9 +929,9 @@ def patch_v1_companies_company_id_payrolls_id_partner_disbursements( base_url = self._get_url(base_url, url_variables) request = models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, body=models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, @@ -1063,9 +1063,9 @@ async def patch_v1_companies_company_id_payrolls_id_partner_disbursements_async( base_url = self._get_url(base_url, url_variables) request = models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, id=id, - x_gusto_api_version=x_gusto_api_version, body=models.PatchV1CompaniesCompanyIDPayrollsIDPartnerDisbursementsRequestBody( disbursements=utils.get_pydantic_model( disbursements, @@ -1152,11 +1152,11 @@ def get_approved_reversals( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1171,9 +1171,9 @@ def get_approved_reversals( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1190,10 +1190,10 @@ def get_approved_reversals( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollReversalsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1258,11 +1258,11 @@ async def get_approved_reversals_async( self, *, company_id: str, + x_gusto_api_version: Optional[ + models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion + ] = models.GetV1CompaniesCompanyIDPayrollReversalsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, page: Optional[int] = None, per: Optional[int] = None, - x_gusto_api_version: Optional[ - models.VersionHeader - ] = models.VersionHeader.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1277,9 +1277,9 @@ async def get_approved_reversals_async( If set, this operation will use `company_access_auth` from the global security. :param company_id: The UUID of the company + :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param page: The page that is requested. When unspecified, will load all objects unless endpoint forces pagination. :param per: Number of objects per page. For majority of endpoints will default to 25 - :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1296,10 +1296,10 @@ async def get_approved_reversals_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollReversalsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, page=page, per=per, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -1419,9 +1419,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -1545,9 +1545,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsPayrollIDRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, - x_gusto_api_version=x_gusto_api_version, include=include, page=page, per=per, @@ -1887,10 +1887,10 @@ def delete( *, company_id: str, payroll_id: str, - async_: Optional[bool] = None, x_gusto_api_version: Optional[ models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion ] = models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + async_: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1908,8 +1908,8 @@ def delete( :param company_id: The UUID of the company :param payroll_id: The UUID of the payroll - :param async_: When true, request an asynchronous delete of the payroll. :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param async_: When true, request an asynchronous delete of the payroll. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1926,10 +1926,10 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyIDPayrollsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, async_=async_, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1995,10 +1995,10 @@ async def delete_async( *, company_id: str, payroll_id: str, - async_: Optional[bool] = None, x_gusto_api_version: Optional[ models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion ] = models.DeleteV1CompaniesCompanyIDPayrollsHeaderXGustoAPIVersion.TWO_THOUSAND_AND_TWENTY_SIX_MINUS_06_MINUS_15, + async_: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -2016,8 +2016,8 @@ async def delete_async( :param company_id: The UUID of the company :param payroll_id: The UUID of the payroll - :param async_: When true, request an asynchronous delete of the payroll. :param x_gusto_api_version: Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. + :param async_: When true, request an asynchronous delete of the payroll. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2034,10 +2034,10 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyIDPayrollsRequest( + x_gusto_api_version=x_gusto_api_version, company_id=company_id, payroll_id=payroll_id, async_=async_, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( @@ -2167,8 +2167,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -2309,8 +2309,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyIDPayrollsRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, processing_statuses=processing_statuses, payroll_types=payroll_types, processed=processed, @@ -2737,8 +2737,8 @@ def get_receipt( base_url = self._get_url(base_url, url_variables) request = models.GetV1PaymentReceiptsPayrollsPayrollUUIDRequest( - payroll_uuid=payroll_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_uuid=payroll_uuid, ) req = self._build_request( @@ -2842,8 +2842,8 @@ async def get_receipt_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PaymentReceiptsPayrollsPayrollUUIDRequest( - payroll_uuid=payroll_uuid, x_gusto_api_version=x_gusto_api_version, + payroll_uuid=payroll_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payschedules.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payschedules.py index 51d69d98..f8e943b9 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payschedules.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/payschedules.py @@ -988,6 +988,7 @@ def get_preview( day_1: Optional[int] = None, day_2: Optional[int] = None, end_date: Optional[date] = None, + pay_schedule_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1013,6 +1014,7 @@ def get_preview( :param day_1: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the \"Twice per month\" and \"Monthly\" frequencies. It will be null for pay schedules with other frequencies. :param day_2: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the \"Twice per month\" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. :param end_date: End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. + :param pay_schedule_uuid: Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1037,6 +1039,7 @@ def get_preview( day_1=day_1, day_2=day_2, end_date=end_date, + pay_schedule_uuid=pay_schedule_uuid, ) req = self._build_request( @@ -1115,6 +1118,7 @@ async def get_preview_async( day_1: Optional[int] = None, day_2: Optional[int] = None, end_date: Optional[date] = None, + pay_schedule_uuid: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1140,6 +1144,7 @@ async def get_preview_async( :param day_1: An integer between 1 and 31 indicating the first day of the month that employees are paid. This field is only relevant for pay schedules with the \"Twice per month\" and \"Monthly\" frequencies. It will be null for pay schedules with other frequencies. :param day_2: An integer between 1 and 31 indicating the second day of the month that employees are paid. This field is the second pay date for pay schedules with the \"Twice per month\" frequency. For semi-monthly pay schedules, set this field to 31. For months shorter than 31 days, the second pay date is set to the last day of the month. It will be null for pay schedules with other frequencies. :param end_date: End date for the preview range. If given, this date must be in the future. When unspecified, defaults to 18 months from today. + :param pay_schedule_uuid: Optional UUID of an existing pay schedule. When supplied, the preview is seeded from the persisted schedule — including internal flags (such as arrears handling) that affect period boundaries but are not exposed as request parameters. Any other query parameters override individual attributes on top of the loaded schedule. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1164,6 +1169,7 @@ async def get_preview_async( day_1=day_1, day_2=day_2, end_date=end_date, + pay_schedule_uuid=pay_schedule_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/people_batches.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/people_batches.py index d5a90f17..9b02585a 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/people_batches.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/people_batches.py @@ -58,8 +58,8 @@ def post_v1_companies_company_id_people_batches( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyIDPeopleBatchesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.PostV1CompaniesCompanyIDPeopleBatchesRequestBody( idempotency_key=idempotency_key, batch_action=batch_action, @@ -188,8 +188,8 @@ async def post_v1_companies_company_id_people_batches_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyIDPeopleBatchesRequest( - company_id=company_id, x_gusto_api_version=x_gusto_api_version, + company_id=company_id, body=models.PostV1CompaniesCompanyIDPeopleBatchesRequestBody( idempotency_key=idempotency_key, batch_action=batch_action, @@ -312,8 +312,8 @@ def get_v1_people_batches_people_batch_uuid( base_url = self._get_url(base_url, url_variables) request = models.GetV1PeopleBatchesPeopleBatchUUIDRequest( - people_batch_uuid=people_batch_uuid, x_gusto_api_version=x_gusto_api_version, + people_batch_uuid=people_batch_uuid, ) req = self._build_request( @@ -414,8 +414,8 @@ async def get_v1_people_batches_people_batch_uuid_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1PeopleBatchesPeopleBatchUUIDRequest( - people_batch_uuid=people_batch_uuid, x_gusto_api_version=x_gusto_api_version, + people_batch_uuid=people_batch_uuid, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/signatories.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/signatories.py index 8b1d50bd..7e5c9b3d 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/signatories.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/signatories.py @@ -54,8 +54,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDSignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -157,8 +157,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDSignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -286,8 +286,8 @@ def create( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompanySignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.SignatoryCreateRequest( first_name=first_name, middle_initial=middle_initial, @@ -436,8 +436,8 @@ async def create_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompanySignatoriesRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.SignatoryCreateRequest( first_name=first_name, middle_initial=middle_initial, @@ -583,8 +583,8 @@ def invite( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyUUIDSignatoriesInviteRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.SignatoryInviteRequest( first_name=first_name, middle_initial=middle_initial, @@ -730,8 +730,8 @@ async def invite_async( base_url = self._get_url(base_url, url_variables) request = models.PostV1CompaniesCompanyUUIDSignatoriesInviteRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, body=models.SignatoryInviteRequest( first_name=first_name, middle_initial=middle_initial, @@ -879,9 +879,9 @@ def update( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, body=models.SignatoryUpdateRequest( version=version, first_name=first_name, @@ -1029,9 +1029,9 @@ async def update_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, body=models.SignatoryUpdateRequest( version=version, first_name=first_name, @@ -1156,9 +1156,9 @@ def delete( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request( @@ -1262,9 +1262,9 @@ async def delete_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1CompaniesCompanyUUIDSignatoriesSignatoryUUIDRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, signatory_uuid=signatory_uuid, - x_gusto_api_version=x_gusto_api_version, ) req = self._build_request_async( diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/taxrequirements.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/taxrequirements.py index f16d052e..2ad679a6 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/taxrequirements.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/taxrequirements.py @@ -51,8 +51,8 @@ def get_all( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request( @@ -154,8 +154,8 @@ async def get_all_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, ) req = self._build_request_async( @@ -264,9 +264,9 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, scheduling=scheduling, ) @@ -374,9 +374,9 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, scheduling=scheduling, ) @@ -491,9 +491,9 @@ def update_state( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, body=models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequestBody( requirement_sets=utils.get_pydantic_model( requirement_sets, Optional[List[models.TaxRequirementSetUpdate]] @@ -624,9 +624,9 @@ async def update_state_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequest( + x_gusto_api_version=x_gusto_api_version, company_uuid=company_uuid, state=state, - x_gusto_api_version=x_gusto_api_version, body=models.PutV1CompaniesCompanyUUIDTaxRequirementsStateRequestBody( requirement_sets=utils.get_pydantic_model( requirement_sets, Optional[List[models.TaxRequirementSetUpdate]] diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/webhooks.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/webhooks.py index 4cabc78c..d8b21c5f 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/webhooks.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/webhooks.py @@ -487,8 +487,8 @@ def get_subscription( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -593,8 +593,8 @@ async def get_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -701,8 +701,8 @@ def update_subscription( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -824,8 +824,8 @@ async def update_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1WebhookSubscriptionUUIDRequestBody( subscription_types=subscription_types, ), @@ -945,8 +945,8 @@ def delete_subscription( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1051,8 +1051,8 @@ async def delete_subscription_async( base_url = self._get_url(base_url, url_variables) request = models.DeleteV1WebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -1157,8 +1157,8 @@ def request_verification_token( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request( @@ -1265,8 +1265,8 @@ async def request_verification_token_async( base_url = self._get_url(base_url, url_variables) request = models.GetV1WebhookSubscriptionVerificationTokenUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, ) req = self._build_request_async( @@ -1377,8 +1377,8 @@ def verify( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), @@ -1502,8 +1502,8 @@ async def verify_async( base_url = self._get_url(base_url, url_variables) request = models.PutV1VerifyWebhookSubscriptionUUIDRequest( - webhook_subscription_uuid=webhook_subscription_uuid, x_gusto_api_version=x_gusto_api_version, + webhook_subscription_uuid=webhook_subscription_uuid, body=models.PutV1VerifyWebhookSubscriptionUUIDRequestBody( verification_token=verification_token, ), diff --git a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/wireinrequests.py b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/wireinrequests.py index e3258864..202ab677 100644 --- a/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/wireinrequests.py +++ b/gusto_embedded_v_2026_06_15/src/gusto_embedded_v_2026_06_15/wireinrequests.py @@ -50,8 +50,8 @@ def get( base_url = self._get_url(base_url, url_variables) request = models.GetWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, ) req = self._build_request( @@ -150,8 +150,8 @@ async def get_async( base_url = self._get_url(base_url, url_variables) request = models.GetWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, ) req = self._build_request_async( @@ -258,8 +258,8 @@ def submit( base_url = self._get_url(base_url, url_variables) request = models.PutWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, body=models.WireInRequestUpdateRequestBody( date_sent=date_sent, bank_name=bank_name, @@ -384,8 +384,8 @@ async def submit_async( base_url = self._get_url(base_url, url_variables) request = models.PutWireInRequestsWireInRequestUUIDRequest( - wire_in_request_uuid=wire_in_request_uuid, x_gusto_api_version=x_gusto_api_version, + wire_in_request_uuid=wire_in_request_uuid, body=models.WireInRequestUpdateRequestBody( date_sent=date_sent, bank_name=bank_name, @@ -506,8 +506,8 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesCompanyUUIDWireInRequestUUIDRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, page=page, per=per, ) @@ -606,8 +606,8 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.GetCompaniesCompanyUUIDWireInRequestUUIDRequest( - company_uuid=company_uuid, x_gusto_api_version=x_gusto_api_version, + company_uuid=company_uuid, page=page, per=per, ) diff --git a/gusto_embedded_v_2026_06_15/uv.lock b/gusto_embedded_v_2026_06_15/uv.lock index 16105c3a..ac21a3b8 100644 --- a/gusto_embedded_v_2026_06_15/uv.lock +++ b/gusto_embedded_v_2026_06_15/uv.lock @@ -83,7 +83,7 @@ wheels = [ [[package]] name = "gusto-embedded-v-2026-06-15" -version = "0.0.1" +version = "0.0.2" source = { editable = "." } dependencies = [ { name = "httpcore" },